DELETE ID
HejsaJeg har lavet et par tabeller for at lære at bruge primary og foreign keys. Mine tabeller ser således ud:
CREATE TABLE Persons(
P_id INT NOT NULL AUTO_INCREMENT,
lastName VARCHAR(20),
FirstName VARCHAR(20),
Address VARCHAR(20),
City VARCHAR(20)
PRIMARY KEY (P_id)
);
CREATE TABLE Orders (
O_id INT NOT NULL AUTO_INCREMENT,
OrderNo INT(5),
FOREIGN KEY (P_id) REFERENCES(P_id)
);
I må lige tage forbehold for eventuelle stavefejl her. Jeg kunne ikke finde min kode frem igen, så jeg skrev dem bare lige ind her. Men mine INSERT DATA ser sådanne ud:
http://postimg.org/image/i9d9jcniz/
og
http://postimg.org/image/fy4ru8vrp/
Det jeg nu gerne vil er at Mads som er P_id 1 skal slettes, fordi han ikke er kunde mere, og jeg vil også gerne have at alle hans ordrenumre skal slettes. Derfor prøvede jeg at skrive:
DELETE FROM shop_1.Persons WHERE lastName='Kristensen' AND FirstName='Mads';
DELETE FROM Shop_1.Persons WHERE P_id=1;
Men jeg får fejlen:
DELETE FROM shop_1.Persons WHERE lastName='Kristensen' AND FirstName='Mads' Error Code: 1451. Cannot delete or update a parent row: a foreign key constraint fails (`shop_1`.`orders`, CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`P_id`) REFERENCES `Persons` (`P_id`))
Er der en som ved hvorfor jeg ikke kan slette kunde nr.1?
Mvh Mads