Mysql
 sql >> Base de données >  >> RDS >> Mysql

La contrainte de clé étrangère MySQL 5.5 échoue lorsqu'une clé étrangère existe

Cela semble être un bogue introduit depuis MySQL 5.5.9 sur Mac OS X :http ://bugs.mysql.com/bug.php?id=60309

Il est marqué comme corrigé dans la version 5.5.13 (publiée le 31 mai) et mentionné dans les notes de version :http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html

Alternativement, il existe une solution de contournement répertoriée dans le rapport de bogue que j'ai vérifié sur 5.5.10 et reproduit ci-dessous :

[20 Mar 11:29] Harald Neiss

I also received a new MBP and reinstalled MySQL (mysql-5.5.10-osx10.6-x86_64). Finally I
came across the same problem as described above. So here is the query result and what I
did to solve it.

mysql> show variables like 'lower%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 2     |
+------------------------+-------+
2 rows in set (0.00 sec)

Dropped database, created the file /etc/my.cnf with the following content:

[mysqld]
lower_case_table_names=1

Restarted the MySQL daemon and repeated the query:

mysql> show variables like 'lower%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | ON    |
| lower_case_table_names | 1     |
+------------------------+-------+
2 rows in set (0.00 sec)

I recreated the tables and everything works fine.