Mon, 8/2/2010
If you work with Postgresql or even Oracle something like foreign keys are used on a daily basis…such constraints are very welcome and used all over the world except in mysql with myisam.
You have to turn on innodb for that.
create table car (
id integer primary key not null auto_increment,
name varchar not null
) ENGINE=INNODB;
create table car_owner (
id integer primary key not null auto_increment,
first_name varchar(100) not null,
last_name varchar(100) not null,
car integer not null,
foreign key (car) references car(id)
) ENGINE=INNODB;
insert into car (name) values ('Audi 80');
insert into car (name) values ('Mercedes 190D');
insert into car_owner (first_name, last_name, car)
values ('Andreas','Schipplock',1); # works!
insert into car_owner (first_name, last_name, car)
values ('Andreas','Schipplock',2); # works!
insert into car_owner (first_name, last_name, car)
values ('Andreas','Schipplock',3); # fails! intended behavior :)
That’s it…simple.
Comments
