반응형
datetime 기본값(mariadb)
다음과 같이 mariadb 5.5에서 datetime 기본값을 설정합니다.
CREATE TABLE IF NOT EXISTS test (
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
단, 이 에러가 표시됩니다.
Error 1067: Invalid default value for 'create_time'
기본 전류 시간 값을 mariadb로 설정하고 TIMESTAMP 유형을 사용하지 않으려면 어떻게 해야 합니까?
5.5에서는 열의 기본값으로 사용할 수 없습니다.이것은 나중에 10.0.1에서 도입되어 사용이 가능하게 되었습니다.
옵션은 새로운 버전으로 업그레이드하거나 트리거를 사용하여 에뮬레이트할 수 있습니다(inanutshellus에서 설명).
트리거를 사용하여 지정합니다.
create trigger bi_mytable
before insert on mytable
for each row
begin
NEW.create_time = NOW();
end;
또한 이 값은 "작성"된 값이기 때문에 업데이트하지 않도록 하십시오.
create trigger bu_mytable
before update on mytable
for each row
begin
NEW.create_time = OLD.create_time;
end;
언급URL : https://stackoverflow.com/questions/19451365/default-of-datetime-in-mariadb
반응형
'programing' 카테고리의 다른 글
PHP 함수의 소스 코드 재구성/가져오기 (0) | 2022.10.02 |
---|---|
MySQL ORDER BY IN() (0) | 2022.10.02 |
테이블의 모든 요소에 대해 조인 쿼리가 제대로 작동하지 않습니다. (0) | 2022.10.02 |
MySQLWorkbench에서 바로 가기로 문 실행 (0) | 2022.10.02 |
특정 다른 열 값에 대해서만 한 열에 대한 색인 (0) | 2022.10.02 |