简体   繁体   English

获取信息以创建ALTER TABLE ADD FOREIGN KEY

[英]Get information to create ALTER TABLE ADD FOREIGN KEY

How to get the information to update an already existing foreign key.. 如何获取信息以更新已经存在的外键。

When updating a foreign key referemce in phpmyadmin this query is sent to the server 在phpmyadmin中更新外键引用时,此查询将发送到服务器

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

But how do I get the status ON DELETE and ON UPDATE to sending and updating the alter table query? 但是,如何获取发送和更新alter table查询的状态ON DELETEON UPDATE

You can't. 你不能 You have to drop the existing foreign key constraint and add a new one. 您必须删除现有的外键约束并添加一个新的约束。

However, you can fetch the existing reference_option from the INFORMATION_SCHEMA : 但是,您可以从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'

Or else from SHOW CREATE TABLE : 否则从SHOW CREATE TABLE

SHOW CREATE TABLE dimension

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM