U kunt geen NOT NULL-kolom toevoegen aan een tabel met meer dan nul rijen, wanneer de kolom is beperkt tot waarden die overeenkomen met die in de bovenliggende tabel en toch alleen NULL-waarden heeft omdat het een nieuwe, niet-bevolkte kolom is zonder DEFAULT .
De oplossing is om het in fasen te doen:voeg de kolom toe, maar declareer deze niet NOT NULL, en declareer de externe sleutel nog niet.
ALTER TABLE boys
ADD COLUMN toy_id INT;
Vul het vervolgens in met geldige gegevens die overeenkomen met enkele waarde(n) in uw speelgoedtabel.
UPDATE boys SET toy_id = ...;
Wijzig vervolgens de kolom in NOT NULL en creëer de beperking:
ALTER TABLE boys MODIFY COLUMN toy_id INT NOT NULL,
ADD CONSTRAINT toys_toy_id_fk
FOREIGN KEY(toy_id)
REFERENCES toys(toy_id);