在给定的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;
MySQL CREATE TABLE 语法错误:ON DELETE 和 ON UPDATE 子句使用问题

原文地址: https://www.cveoy.top/t/topic/fSK3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录