【发布时间】:2017-03-11 04:27:44
【问题描述】:
通常我通过删除外键并重新创建它来更改表的更新和删除规则。下面的例子:
ALTER TABLE xyz DROP FOREIGN KEY fk_1;
ALTER TABLE xyz ADD CONSTRAINT fk_1 FOREIGN KEY (a) REFERENCES batch_details a) ON DELETE CASCADE ON UPDATE CASCADE;
但如果我有一组表,那么这样做会变得乏味。 虽然我可以使用
查看所有表的更新和删除规则select * from information_schema.referential_constraints;
我也试过了:
update information_schema.referential_constraints set update_rule='CASCADE',delete_rule='CASCADE' where table_name='x';
但它需要我无法提供的 root 权限。 请帮助如何做到这一点。
提前致谢
【问题讨论】:
-
你在服务器上有权限这样做吗?也许您无权更新此表或根本无权更新表结构
-
是的,我可以使用上面给出的基本 alter 命令进行更新
-
我的意思是更新
information_schema.referential_constraints -
不,我不愿意通过 root 用户或具有类似管理员权限的用户进行操作
标签: mysql alter-table