mysql有外键约束的表无法联级删除?

mysql有外键约束的表无法联级删除?,第1张

看看外键的 级联 选项, 是CASCADE 的 才可以级联删除:

[CONSTRAINT [symbol]] FOREIGN KEY

[index_name] (index_col_name, ...)

REFERENCES tbl_name (index_col_name,...)

[ON DELETE reference_option]

[ON UPDATE reference_option]

reference_option:

RESTRICT | CASCADE | SET NULL | NO ACTION 外键的使用需要满足下列的条件:

InnoDB支持5种不同的动作,如果没有指定ON DELETE或者ON UPDATE,默认的动作为RESTRICT:

1. CASCADE: 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。

2. SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。

3. NO ACTION: InnoDB拒绝删除或者更新父表。

4. RESTRICT: 拒绝删除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的。

5. SET DEFAULT: InnoDB目前不支持。

我遇到过这样的问题:按钮变灰色,那是因为我所建的表中没有

主键

至于你用MySQL

command

line

client进行删除时,出现的错误是因为

没有选择

你所建的那张表的数据库。你可以直接在MySQL

Administrator

里面的那张表进行删除,虽然按钮变成灰色了。但是你可以是用

sql语句

进行删除啊、


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/8580507.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存