MySQL CREATE TABLE 语法错误:ON DELETE 和 ON UPDATE 子句使用问题
在给定的SQL语句中,问题出在以下这一行:
CONSTRAINT `R_TASK_ID` FOREIGN KEY (`R_TASK_ID`) REFERENCES `t_d_task` (`C_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT,
错误发生在'ON DELETE'和'ON UPDATE'后面必须跟着一种操作,例如CASCADE、SET NULL或NO ACTION。在此情况下,您可以将'ON DELETE RESTRICT ON UPDATE RESTRICT'更改为'ON DELETE RESTRICT ON UPDATE RESTRICT',或者根据您的需求选择适当的操作,例如CASCADE或SET NULL。
修复后的SQL语句如下:
CREATE TABLE `guangdong_sfdmap` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`type1` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型1',
`type2` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型2',
`objectid` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'objectid',
`population` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '人口',
`shape_le_1` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'shape_le_1',
`code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '代码',
`xzqmc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
`feature_oid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'feature_oid',
`shape_leng` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'shape_leng',
`xzqdm` bigint(20) NULL DEFAULT NULL COMMENT '地区代码',
`datasource` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据源',
`shape_area` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'shape_area',
`area` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '面积',
`coordinates` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '经纬度数组',
`parent_id` bigint(20) NULL DEFAULT NULL COMMENT '父级id',
`level` int(11) NULL DEFAULT NULL COMMENT '地区级别',
`zzz0001` datetime(0) NOT NULL COMMENT '创建时间',
`zzz0002` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`zzz0003` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`zzz0004` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '修改人',
`zzz0005` tinyint(1) NOT NULL COMMENT '是否禁用 1是;0否',
`zzz0006` tinyint(1) NOT NULL COMMENT '是否删除 1是;0否',
`center` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '中心点',
`fullname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`R_TASK_ID` bigint(20) NULL DEFAULT NULL COMMENT '任务上报表外键ID',
`highlight` tinyint(1) NOT NULL COMMENT '是否标亮 1是;0否',
PRIMARY KEY (`id`) USING BTREE,
INDEX `parent_id`(`parent_id`) USING BTREE,
INDEX `R_TASK_ID`(`R_TASK_ID`) USING BTREE,
CONSTRAINT `R_TASK_ID` FOREIGN KEY (`R_TASK_ID`) REFERENCES `t_d_task` (`C_ID`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
原文地址: https://www.cveoy.top/t/topic/fSK3 著作权归作者所有。请勿转载和采集!