sql >> Databasteknik >  >> RDS >> Mysql

MySQL:Lägg till begränsning om den inte finns

FOREIGN_KEY_CHECKS är ett bra verktyg men om du behöver veta hur man gör detta utan att tappa och återskapa dina tabeller. Du kan använda en SELECT sats PÅ information_schema.TABLE_CONSTRAINTS för att avgöra om den främmande nyckeln finns:

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. Standarder för datum/tid tillägg?

  2. Hur man lägger till autoinkrement-id enligt en grupp i mysql

  3. Välj Fråga för att hämta rader i MySQL

  4. Skapa tabell med datumstämpeln