programing

datetime 기본값(mariadb)

projobs 2022. 10. 2. 15:13
반응형

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

반응형