sql >> Database >  >> RDS >> Mysql

MySQL:beperking toevoegen als deze niet bestaat

De FOREIGN_KEY_CHECKS is een geweldig hulpmiddel, maar als je wilt weten hoe je dit moet doen zonder je tabellen te laten vallen en opnieuw te maken. U kunt een SELECT . gebruiken statement ON information_schema.TABLE_CONSTRAINTS om te bepalen of de externe sleutel bestaat:

IF NOT EXISTS (
    SELECT NULL 
    FROM information_schema.TABLE_CONSTRAINTS
    WHERE
        CONSTRAINT_SCHEMA = DATABASE() AND
        CONSTRAINT_NAME   = 'fk_rabbits_main_page' AND
        CONSTRAINT_TYPE   = 'FOREIGN KEY'
)
THEN
    ALTER TABLE `rabbits`
    ADD CONSTRAINT `fk_rabbits_main_page`
    FOREIGN KEY (`main_page_id`)
    REFERENCES `rabbit_pages` (`id`);
END IF


  1. php api beveiligen voor gebruik in Android-applicatie

  2. Maak een tabel met kolomnamen afgeleid van rijwaarden van een andere tabel

  3. RAWTOHEX() Functie in Oracle

  4. Hoe UNIX_TIMESTAMP() werkt in MariaDB