Hello all,

On Wed, 21 Feb 2007 10:02:04 -0600
Scott Marlowe <[EMAIL PROTECTED]> 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)

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to