Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:Thêm ràng buộc nếu không tồn tại

FOREIGN_KEY_CHECKS là một công cụ tuyệt vời nhưng nếu bạn cần biết cách thực hiện việc này mà không làm rơi và tạo lại các bảng của mình. Bạn có thể sử dụng SELECT tuyên bố ON information_schema.TABLE_CONSTRAINTS để xác định xem khóa ngoại có tồn tại hay không:

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. MySQL có thể khôi phục đáng tin cậy các bản sao lưu có chứa các khung nhìn hay không?

  2. Tạo cơ sở dữ liệu MySQL

  3. Xampp MySQL không khởi động - Đang cố gắng khởi động dịch vụ MySQL ...

  4. Bảng thay thế SQL - cho phép giá trị cột NULL

  5. Sử dụng độc quyền hoặc trong mysql