Bad*_*mer 7 mysql foreign-keys
我有一个有几个表的数据库.许多表都具有外键约束的字段.我想截断表,然后用新数据重新填充它们,我也想取消外键,因为一些关系已经改变.基本上,我想再次从头开始构建FK约束.如何从所有表中删除当前的FK约束?
Nic*_*ssu 10
您可以使用information_schema.看看这个页面
http://dev.mysql.com/doc/refman/5.0/en/key-column-usage-table.html
select concat('alter table ',table_name,' drop foreign key ',constraint_name,';')
from information_schema.key_column_usage
where constraint_schema = 'your_db' and referenced_table_name = 'table_name';
Run Code Online (Sandbox Code Playgroud)
然后运行生成的输出.
您可以执行类似操作以截断所有表.
select concat('truncate ',table_name,';')
from information_schema.tables
where table_schema = 'your_db' and table_type = 'base table'
Run Code Online (Sandbox Code Playgroud)
这个将截断指定数据库中的所有表.所以要小心使用它.
| 归档时间: |
|
| 查看次数: |
8490 次 |
| 最近记录: |