Hola , tengo dos tablas :
CREATE TABLE Persona(
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR(60) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Carro (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name CHAR(60) NOT NULL,
owner SMALLINT UNSIGNED NOT NULL REFERENCES Persona(id),
PRIMARY KEY (id)
);
se supone que owner es una llave foranea que hace referencia al atributo id de la tabla Persona, ahora hago un par de inserts
insert into Persona(name) values ("Miguel")
insert into Persona(name) values ("Manuel")
por lo que al hacer hacer un "select * from Persona " me daria :
codigo nombre
1 Miguel
2 Manuel
El problema es q se supone que si en la tabla carro que tiene el atruibuto owner hacieno referencia al atributo id de la tabla Persona, si intentara insertar un dueño que no exista no me lo deberia permitir, me deberia arrojar un error de constraints verdad? pero no es asi y si me permite hacer un insert de este tipo:
insert into Carro(name,owner) values("BMW",10);
Cuando el owner 10 no existe en la tabla Persona..
a que se debe esto o q estoy haciendo mal?