SQL语句错误修正:`Gtime` 字段默认值设置
改正以下SQL语句错误
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;
内容:将以下语句:
Gtime datetime NULL DEFAULT,
修改为:
Gtime datetime NULL DEFAULT NULL,
解释:
在SQL语句中,datetime 类型字段的默认值设置,应该明确指定为NULL。 虽然省略 NULL 也可以,但显式地指定更清晰,避免歧义,也符合良好的代码规范。
总结:
通过将 Gtime 字段的默认值设置修改为 NULL,我们修正了SQL语句中的一个小错误,使代码更易于理解和维护。
原文地址: https://www.cveoy.top/t/topic/oWvY 著作权归作者所有。请勿转载和采集!