Hello all,
On Wed, 21 Feb 2007 10:02:04 -0600
Scott Marlowe <smarlowe@g2switchworks.com> wrote:
> It swallows column level foreign key contraints and does nothing with
> them, no errors nothing, even if you're defining innodb tables. I.e.
> this produces not errors:
>
> mysql> create table a (id int primary key) engine=innodb;
> Query OK, 0 rows affected (0.02 sec)
>
> mysql> create table b (a_id int references a(id)) engine=innodb;
> Query OK, 0 rows affected (0.03 sec)
>
> mysql> insert into a values (1);
> Query OK, 1 row affected (0.03 sec)
>
> mysql> insert into b values (1);
> Query OK, 1 row affected (0.03 sec)
>
> mysql> insert into b values (2);
> Query OK, 1 row affected (0.03 sec)
>
> That last statement should fail. Or the creation of table b should
> throw a warning. Or something.
It will not fail, cause REFERENCES without FOREIGN KEY get's ignored :-(
Thats documented somewhere, but not really fixed, cause standard '92
says, just writing REFERENCE is ok. Oh, and no warning at all, since it
is a valid (but ignored) language thing of Mysql.
Kind regards
--
Andreas 'ads' Scherbaum
Failure is not an option. It comes bundled with your Microsoft product.
(Ferenc Mantfeld)