Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Tambahkan batasan jika tidak ada

FOREIGN_KEY_CHECKS adalah alat yang hebat tetapi jika Anda perlu tahu bagaimana melakukan ini tanpa menjatuhkan dan membuat ulang tabel Anda. Anda dapat menggunakan SELECT pernyataan ON information_schema.TABLE_CONSTRAINTS untuk menentukan apakah kunci asing ada:

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. Menyetel ulang kata sandi ROOT di MySQL 5.6

  2. Bagaimana lebih mengoptimalkan tabel MySQL ini untuk satu Query

  3. Formulir HTML / Php tidak ditambahkan ke database SQL

  4. Menggunakan kata kunci SQL dalam judul tabel atau kolom

  5. MySQL INSERT IGNORE INTO &kunci asing