【发布时间】:2017-05-19 04:59:51
【问题描述】:
我想在 mySQL 表上为 datetime 列的默认值添加一个约束,就像 here,但解决问题的命令对我不起作用。
我创建了我的表:
create table `transactions`
( `id` int NOT NULL AUTO_INCREMENT,
`timeTransaction` DATETIME,
`montant` int,
`donneur` varchar(50),
`receveur` varchar(200),
primary key(`id`));
当我尝试时
ALTER TABLE transactions ADD CONSTRAINT DF_TIME_TRANS DEFAULT GETDATE() FOR timeTransactions;
它总是在 DEFAULT 上返回一个语法错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“DEFAULT GETDATE() FOR timeTransactions”附近使用正确的语法
我尝试在创建表期间定义约束,但我仍然卡在 DEFAULT 上。知道为什么会这样吗?
【问题讨论】:
-
不要对 MySQL 使用 SQL Server 语法
-
在 MySQL 中你使用
DEFAULT CURRENT_TIMESTAMP。
标签: mysql