【发布时间】:2020-08-08 12:03:22
【问题描述】:
我正在尝试让我的消息系统中的组删除组、消息和使用删除级联错误的成员。我的代码:
"CREATE TABLE `groups` (
groups_id int AUTO_INCREMENT PRIMARY KEY,
owner_id int NOT NULL,
group_name varchar(255)
)",
"CREATE TABLE `groups_members` (
groups_members_id int AUTO_INCREMENT PRIMARY KEY,
groups_id int NOT NULL,
user_id int,
FOREIGN KEY (groups_id)
REFERENCES groups(groups_id)
DELETE ON CASCADE
)",
"CREATE TABLE `groups_contents` (
groups_contents_id int AUTO_INCREMENT PRIMARY KEY,
user_id int,
groups_id int,
date_time DATETIME,
message varchar(1000),
FOREIGN KEY (groups_id)
REFERENCES groups(groups_id)
DELETE ON cascade
)"
它给我的错误: STATEMENT [CREATE TABLE groups_members (groups_members_id int AUTO_INCREMENT PRIMARY KEY, groups_id int NOT NULL, user_id int, CONSTRAINTbanana FOREIGN KEY (groups_id) REFERENCES groups(groups_id) DELETE ON CASCADE)]您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在第 8 行的“DELETE ON CASCADE)”附近使用的正确语法
【问题讨论】:
-
我不明白你的代码为什么用逗号分隔并用双引号括起来。其次,您的最后一个字符串不起作用,因为您错过了 CREATE TABLE 部分
-
基本上就是一个要执行的语句数组,所以用逗号隔开
标签: mysql