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);