改正以下sql语句 报错 Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clauseDROP TABLE IF EXISTS goods;CREATE TABLE goods Gid int0 NOT NULL
DROP TABLE IF EXISTS goods;
CREATE TABLE goods (
Gid int(0) NOT NULL AUTO_INCREMENT,
Sid int(0) NULL DEFAULT NULL,
Gname varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
Gbuyprice varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
Gsellprice varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
Gphoto varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
Gdescribe varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
Gaudit enum('0','1') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0',
Gstatus enum('0','1','2','3') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0',
Gtime timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
Gupdate_time timestamp(0) NULL DEFAULT NULL,
SELLusername varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (Gid) USING BTREE,
INDEX Sid(Sid) USING BTREE,
CONSTRAINT Sid FOREIGN KEY (Sid) REFERENCES student (Sid) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 40 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
ALTER TABLE goods MODIFY COLUMN Gupdate_time timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0);
注:将Gupdate_time的默认值改成CURRENT_TIMESTAMP(0)并添加ON UPDATE CURRENT_TIMESTAMP(0)的约束。因为MySQL中只能有一个TIMESTAMP类型的列具有CURRENT_TIMESTAMP属性
原文地址: http://www.cveoy.top/t/topic/htH7 著作权归作者所有。请勿转载和采集!