sql >> Database >  >> RDS >> Mysql

Mysql:Programmatisch alle externe sleutels verwijderen

Hier is een PHP-script om door de information_schema.key_column_usage-tabel te lopen en elke externe sleutel te verwijderen:

<?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);
?>


  1. Een lijst met gekoppelde tabellen exporteren naar Excel vanuit Access 2016

  2. 2 manieren om Word Wrap in SQLite in te schakelen

  3. MYSQL en de LIMIT-clausule

  4. Hoe pgAdmin 4 te installeren op Ubuntu 20.04/18.04/16.04