以下是mysql错误1293的消息:
SQL错误(1293):表定义不正确;只可以有一个人 在DEFAULT或ON UPDATE子句中使用CURRENT_TIMESTAMP的TIMESTAMP列
mysql的原因是什么只允许在每个表的DEFAULT或ON UPDATE子句中使用CURRENT_TIMESTAMP的一个TIMESTAMP列。
答案 0 :(得分:8)
只有一个TIMESTAMP字段可以默认为“now” 我首先应该说,如果你试图使用CURRENT_TIMESTAMP或“default now”来定义多个MySQL TIMESTAMP字段,不幸的是这很糟糕,你不能在MySQL中这样做 我在尝试创建这样的表时遇到了这个MySQL TIMESTAMP错误:
create table users (
id int unsigned auto_increment not null primary key,
username varchar(50) not null unique,
password varchar(40) not null,
email_address varchar(128) not null unique,
email_sent timestamp not null,
last_login timestamp not null default now()
) ENGINE = InnoDB;
当我第一次解决这个问题时,我认为MySQL需要在任何其他TIMESTAMP字段之前声明“CURRENT_TIMESTAMP(默认现在)”字段,所以我解决了我的问题:
create table users (
id int unsigned auto_increment not null primary key,
username varchar(50) not null unique,
password varchar(40) not null,
email_address varchar(128) not null unique,
last_login timestamp not null default now(),
email_sent timestamp not null
) ENGINE = InnoDB;