【发布时间】:2011-12-24 07:08:39
【问题描述】:
我在 SQLite 数据库中创建的这张表:
CREATE TABLE [tickets] (
[id] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[coupon_id] INTEGER NULL,
[size] FLOAT NULL,
[phone] VARCHAR(10) NULL,
[date] DATE DEFAULT CURRENT_DATE NULL,
[time] TIME DEFAULT CURRENT_TIME NULL,
[product] TEXT NULL
);
现在我在mysql中转换这个表
CREATE TABLE tickets (
id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL,
coupon_id INTEGER NULL,
size FLOAT NULL,
phone VARCHAR(10) NULL,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP NULL,
time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NULL,
product TEXT NULL
);
INSERT INTO "tickets" VALUES(429,9,18.16,'949-893-5032','2010-11-30','17:46:39','Kids’ Kups Berry Interesting™');
INSERT INTO "tickets" VALUES(430,9,12.04,'847-188-1359','2010-11-25','10:54:00','Raspberry Collider™');
INSERT INTO "tickets" VALUES(431,9,14.1,'204-682-5560','2010-12-08','15:34:07','Celestial Cherry High™');
当我插入这些值时出现错误ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause.
我能够在 SQLite 中插入所有这些值,但我无法将所有这些值插入 MySQL。帮帮我?
【问题讨论】:
-
您确定在
INSERT子句中得到错误吗?在CREATE TABLE子句中获取它更可行,因为 MySQL 表具有错误消息中解释的限制。 -
Álvaro G. Vicario:) 是的,我得到了错误 1293 (HY000) 不正确的表定义;在默认更新子句中,只能有一个带有 current_timestamp 的 TIMESTAMP 列
-
我很确定在
CREATE TABLE时会发生这种情况。 -
@root,插入不是表定义。 (不要以root身份溢出堆栈:))
标签: mysql sqlite mysql-error-1293