ほぼ1時間探していましたが、これを行う方法がまだわからないなんて信じられません。私はこれを見つけました:
mysql サーバー 5.0 に存在する場合にのみ制約を削除します
しかし、提供されたリンクは私をそこに連れて行くのに十分な情報ではありません..誰かがコードで例を提供できますか?
アップデート
申し訳ありませんが、元の質問では明確ではありませんでしたが、アプリケーションプログラミングを使用せずに、SQL だけでこれを行う方法を望んでいました。
ほぼ1時間探していましたが、これを行う方法がまだわからないなんて信じられません。私はこれを見つけました:
mysql サーバー 5.0 に存在する場合にのみ制約を削除します
しかし、提供されたリンクは私をそこに連れて行くのに十分な情報ではありません..誰かがコードで例を提供できますか?
アップデート
申し訳ありませんが、元の質問では明確ではありませんでしたが、アプリケーションプログラミングを使用せずに、SQL だけでこれを行う方法を望んでいました。
PHP コードの例:
function removeFK(PDO $pdo, $dbName, fkName)
{
echo "Removing foreign key '$fkName' from database: $dbName\t";
$exists = $pdo->query("
SELECT TRUE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
AND TABLE_SCHEMA = '$dbName'
AND CONSTRAINT_NAME = '$fkName'
")->fetchColumn();
if ($exists === false) {
echo " [SKIPPING] (FK does not exist)\n";
return false;
}
$pdo->query("USE $dbName");
$pdo->query("
ALTER TABLE intelligence_webpage_has_region_keyword
DROP FOREIGN KEY $fkName");
echo "[OK]\n";
return true;
}