Zim*_*Zim 2 mysql foreign-keys
我现在正在使用一些有点笨拙的数据库,在所有错误的地方定义了外键,我想将它们全部删除,然后从头开始.我不希望删除列,只是外键关系.
如何从整个数据库中删除所有外键?(或按表格表).
谢谢.
编辑:忘了说,我有PHPMyAdmin可供使用.
这是一个循环遍历information_schema.key_column_usage表并删除每个外键的PHP脚本:
<?php
$DBNAME = 'your db name';
$USER = 'username';
$PASSWORD = 'your password';
$SERVER = 'localhost'; //Or Write your IP Address
$conexion = new mysqli($SERVER,$USER,$PASSWORD,$DBNAME);
$SQL = "SELECT DISTINCT table_name, constraint_name"
." FROM information_schema.key_column_usage"
." WHERE constraint_schema = '$DBNAME'"
." AND referenced_table_name IS NOT NULL";
$result = mysqli_query($conexion, $SQL);
while($row = mysqli_fetch_assoc($result)) {
mysqli_query($conexion, "ALTER TABLE `$row[table_name]`"
."DROP FOREIGN KEY `$row[constraint_name]`")
or die(mysqli_error());
}
mysqli_close($conexion);
?>
Run Code Online (Sandbox Code Playgroud)