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

Cách thêm khóa ngoại (MySQL)

Bạn không thể thêm cột KHÔNG ĐẦY ĐỦ vào bảng có nhiều hơn 0 hàng, khi cột bị giới hạn ở các giá trị khớp với các giá trị trong bảng mẹ và chỉ có giá trị NULL vì đó là cột mới, chưa được phổ biến và không có DEFAULT .

Cách giải quyết là thực hiện theo từng giai đoạn:thêm cột, nhưng không khai báo nó KHÔNG ĐỦ và chưa khai báo khóa ngoại.

ALTER TABLE boys
 ADD COLUMN toy_id INT;

Sau đó, điền vào nó dữ liệu hợp lệ khớp với một số giá trị trong bảng đồ chơi của bạn.

UPDATE boys SET toy_id = ...;

Sau đó, thay đổi cột thành KHÔNG ĐẦY ĐỦ và tạo ràng buộc:

ALTER TABLE boys MODIFY COLUMN toy_id INT NOT NULL,
 ADD CONSTRAINT toys_toy_id_fk
 FOREIGN KEY(toy_id)
 REFERENCES toys(toy_id);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn tất cả các giá trị tùy chọn php mysql

  2. MyBatis, làm cách nào để lấy khóa được tạo tự động của một phụ trang? [MySql]

  3. Làm cách nào để nhận số hàng bị ảnh hưởng với SQL Alchemy?

  4. IP của tôi có trong cơ sở dữ liệu của tôi không, nếu có hãy tìm dấu thời gian

  5. Truy xuất thứ bậc từ một bảng như thế này