改正以下sql错误为 Cant create table collegegoods errno 150 怎么改正DROP TABLE IF EXISTS goods;CREATE TABLE goods Gid int0 NOT NULL AUTO_INCREMENT Sid int0 NULL DEFAULT NULL Gname varchar255 CHARACTER SET ut
改正如下:
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 datetime NULL DEFAULT NULL,
Gupdate_time timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
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;
注:错误原因可能是外键约束的问题,需要确保被引用的表(这里是student表)中的字段类型和长度与引用表(这里是goods表)中的字段类型和长度一致
原文地址: http://www.cveoy.top/t/topic/htJv 著作权归作者所有。请勿转载和采集!