반응형
마리아에서의 Datetime current_timestampDB
사이트의 첫 번째 버전을 완료했습니다.이제 로컬 개발 환경(MySQL)에서 x10 호스팅 서버(MariaDB 사용)로 이동할 준비가 되었습니다.
모든 파일을 정상적으로 이동할 수 있지만 데이터베이스를 이동하면서 문제가 발생하기 시작했습니다.
로컬 머신의 phpmyadmin에서 .sql 파일로 데이터베이스를 내보내고 파일을 Import하기 위해 x10에서 phpmyadmin을 열었는데 다음 오류가 발생합니다.
#1067 - Invalid default value for 'created'
이 문제를 추적한 결과, 'created'는 datetime 타입이며, MariaDB에서는 current_timestamp를 datetime 기본값으로 설정할 수 없는 것 같습니다.
현재 타임스탬프를 마리아에서 날짜/시간 기본값으로 사용하려면 어떻게 해야 합니까?
전체 create 문은 다음과 같습니다.
CREATE TABLE IF NOT EXISTS `comments` (
`id` BIGINT( 10 ) NOT NULL AUTO_INCREMENT ,
`post` BIGINT( 10 ) NOT NULL ,
`author` VARCHAR( 50 ) NOT NULL ,
`comment` TEXT NOT NULL ,
`mod_status` INT( 2 ) NOT NULL DEFAULT '0' COMMENT '0 is needing moderation, 1 is approved, and 2 is rejected',
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY ( `id` )
) ENGINE = INNODB DEFAULT CHARSET = latin1 AUTO_INCREMENT =4;
MariaDB에서는 다음을 참조해야 합니다.DEFAULT_TIMESTAMP함수로서():
`created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
^^
그럼 될 거야.다음을 사용하여 INSERT 문을 열 때 동일한 특성을 발견함CURRENT_TIMESTAMP또는NOWMySQL에서는 다음을 수행할 수 있습니다.
insert into table (created, id) values ('CURRENT_TIMESTAMP', 42)
MariaDB에서는 반드시
insert into table (created, id) values (CURRENT_TIMESTAMP(), 42)
당신의 컬럼은 타임스탬프가 아닌 datetime 타입일 것 같은데
current_date
https://mariadb.com/kb/en/mariadb/current_date/ 를 참조해 주세요.
언급URL : https://stackoverflow.com/questions/32805147/datetime-current-timestamp-in-mariadb
반응형
'programing' 카테고리의 다른 글
| Python에서 "raise" 키워드를 사용하는 방법 (0) | 2022.12.24 |
|---|---|
| 서로 다른 데이터베이스 간의 MySQL InnoDB 외부 키 (0) | 2022.12.24 |
| php 여러 공간을 하나의 공간으로 바꾸기 (0) | 2022.12.24 |
| Java Set의 순서 유지? (0) | 2022.12.24 |
| C에서 콘솔 화면을 지우려면 어떻게 해야 합니까? (0) | 2022.12.24 |