获取有关创建ALTER TABLE ADD FOREIGN KEY的信息

时间:2013-01-19 23:25:55

标签: mysql foreign-keys

如何获取更新现有外键的信息..

在phpmyadmin中更新外键引用时,此查询将发送到服务器

ALTER TABLE `dimension` ADD FOREIGN KEY (`test_id`) REFERENCES `db`.`test`
(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;

但是如何让状态ON DELETEON UPDATE发送和更新alter table查询?

1 个答案:

答案 0 :(得分:2)

你做不到。您必须删除现有的外键约束并添加一个新约束。

但是,您可以从INFORMATION_SCHEMA获取现有的 reference_option

SELECT CONSTRAINT_NAME, UNIQUE_CONSTRAINT_NAME, UPDATE_RULE, DELETE_RULE
FROM   INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
WHERE  CONSTRAINT_SCHEMA = DATABASE()
   AND UNIQUE_CONSTRAINT_SCHEMA = DATABASE()
   AND TABLE_NAME = 'dimension'
   AND REFERENCED_TABLE_NAME = 'test'

或者来自SHOW CREATE TABLE

SHOW CREATE TABLE dimension