我正在使用MySQL 5.5.37。给定一组表(table_a,table_b,...,table_n),如何编写将生成SQL的SQL语句(或过程),该SQL生成这些表链接到的所有外键?请注意,虽然我可以运行一个mysqldump来生成带有“CONSTRAINT”子句的“CREATE TABLE”语句,但我只想要添加外键的statmeents,例如。
ALTER TABLE table_a ADD FOREIGN KEY (P_Id) REFERENCES table_x(P_Id)
谢谢, - 戴夫
答案 0 :(得分:1)
SELECT CONCAT('ALTER TABLE ', table_name,
' ADD FOREIGN KEY (', constraint_name, ')',
' REFERENCES ', referenced_table_name,
'(', referenced_column_name, ');') AS alter_cmd
FROM information_schema.key_column_usage
WHERE referenced_table_name IS NOT NULL;