Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL:Добавете ограничение, ако не съществува

FOREIGN_KEY_CHECKS е чудесен инструмент, но ако трябва да знаете как да направите това, без да изпускате и пресъздавате вашите таблици. Можете да използвате SELECT изявление ON information_schema.TABLE_CONSTRAINTS за да определите дали външният ключ съществува:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP рекурсивната функция за изтриване на всички дъщерни възли причинява препълване на стека

  2. разлика между where_in и find_in_set

  3. Грешка MySQLTest при опит за свързване на C# към MySql

  4. Свържете се с MySQL, като използвате SSH тунелиране в node-mysql

  5. Как да показвате стойностите на редове като колони в MySQL