外键在数字海洋托管数据库中保存在 MYSQL 8 中后不适用



我为开发创建了digitalocean托管数据库。MYSQL版本为8.0.20问题是在保存SQL脚本后没有错误。表已成功创建。但当我在那之后转到该表时,该表没有将FOREIGN KEY应用于该表。我会在事件发生前后将我的代码放在下面。

这是插入前的查询

CREATE TABLE `user_reg`  (
`user_reg_id` int(0) NOT NULL AUTO_INCREMENT,
`user_id` int(0) NULL DEFAULT NULL,
PRIMARY KEY (`user_reg_id`) USING BTREE,
INDEX `user_id`(`user_id`) USING BTREE,
CONSTRAINT `user_reg_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `sp_user` (`user_bid`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

这是从mysql获得转储后的查询

CREATE TABLE `user_reg`  (
`user_reg_id` int(0) NOT NULL AUTO_INCREMENT,
`user_id` int(0) NULL DEFAULT NULL,
PRIMARY KEY (`user_reg_id`) USING BTREE,
INDEX `user_id`(`user_id`) USING BTREE,
CONSTRAINT `"user_reg_ibfk_1"` FOREIGN KEY () REFERENCES `"sp_user"` () ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

MYSQL服务器尚未吸收外键。

FOREIGN KEY () REFERENCES `"sp_user"` () ON DELETE CASCADE ON UPDATE

更改并尝试全局SQL模式ANSI_QUOTES

ANSI_QUOTES更改";将被视为`,标识符引号字符。这可能会打破旧的MariaDB应用程序;用作字符串引号字符。

最新更新