FOREIGN KEY 保存在 MYSQL 8 in digitalocean Managed Databases 后不适用

FOREIGN KEY doesn't apply after saved in MYSQL 8 in digitalocean Managed Databases

我为开发创建了 digitalocean 托管数据库。 MYSQL 版本是 8.0.20 问题是保存 SQL 脚本后没有错误。 table创建成功。 但是当我去 table 之后 table 没有应用外键到 table。 我将在事件发生前后将我的代码放在下面。

这是插入前的查询。

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 应用程序,这些应用程序假设将 " 用作字符串引号字符。