Sim*_*son 6 mysql sql database
CREATE TABLE AlarmHistory
(
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
value DOUBLE NOT NULL,
startedStamp TIMESTAMP NOT NULL,
finishedStamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
);
Run Code Online (Sandbox Code Playgroud)
尝试创建上面的表时,我收到以下错误:"SQL错误(1293):表定义不正确;在DEFAULT或ON UPDATE子句中只能有一个TIMESTAMP列与CURRENT_TIMESTAMP".
我的问题是这个错误?因为可以肯定,我有两个TIMESTAMP列,但只有一个列具有默认定义.当我删除startedStamp时,我没有错误.
Dam*_*ver 11
根据MySQL手册,版本5.5,自动初始化和更新TIMESTAMP
既没有
DEFAULT CURRENT_TIMESTAMP也没有ON UPDATE CURRENT_TIMESTAMP,它与指定DEFAULT CURRENT_TIMESTAMP和两者相同ON UPDATE CURRENT_TIMESTAMP.
CREATE TABLE t1 (
ts TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)
然而,
使用常量,默认值是给定值.在这种情况下,该列根本没有自动属性.
CREATE TABLE t1 (
ts TIMESTAMP DEFAULT 0
);
Run Code Online (Sandbox Code Playgroud)
所以,这应该工作:
CREATE TABLE AlarmHistory
(
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
value DOUBLE NOT NULL,
startedStamp TIMESTAMP DEFAULT 0 NOT NULL,
finishedStamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29354 次 |
| 最近记录: |