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

Cara menambahkan Kunci Asing (MySQL)

Anda tidak dapat menambahkan kolom NOT NULL ke tabel yang memiliki lebih dari nol baris, ketika kolom dibatasi ke nilai yang cocok dengan yang ada di tabel induk, namun hanya memiliki nilai NULL karena ini adalah kolom baru yang tidak berpenghuni tanpa DEFAULT .

Solusinya adalah melakukannya secara bertahap:tambahkan kolom, tapi jangan deklarasikan NOT NULL, dan jangan deklarasikan foreign key dulu.

ALTER TABLE boys
 ADD COLUMN toy_id INT;

Kemudian isi dengan data valid yang cocok dengan beberapa nilai di tabel mainan Anda.

UPDATE boys SET toy_id = ...;

Kemudian ubah kolom menjadi NOT NULL, dan buat batasannya:

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. Menyimpan data formulir dinamis dalam DBMS, mencari pendekatan yang optimal

  2. Mengapa saya melihat COLLATION 'xxx' tidak valid untuk CHARACTER SET 'yyy'

  3. Kesalahan saat menyimpan @Lob dengan hibernate java mysql

  4. mysql bukan kenaikan otomatis unik, kunci utama dua bidang

  5. Mysql drop user dengan hibah untuk banyak host