mysql:复制包含外键的表结构

nic*_*ans 17 mysql

我知道如何使用复制表create new_table like old_table,但也不会复制外键约束.我也可以对结果进行字符串操作show create table old_table(使用正则表达式替换表名和外键约束名),但这似乎容易出错.有没有更好的方法来复制表的结构,包括外键?

Wri*_*ken 6

可能您可以根据以下信息编写一个在create table like准备ALTER TABLE ...语句之后的过程:

SELECT * 
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE TABLE_NAME LIKE '<table_name>' 
AND TABLE_SCHEMA = '<db_name>'
AND REFERENCED_TABLE_NAME IS NOT NULL;
Run Code Online (Sandbox Code Playgroud)