Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A restrição de chave estrangeira do MySQL 5.5 falha quando existe uma chave estrangeira


Isso parece ser um bug introduzido desde o MySQL 5.5.9 no Mac OS X:http ://bugs.mysql.com/bug.php?id=60309

Ele está marcado como corrigido em 5.5.13 (lançado em 31 de maio) e mencionado nas notas de lançamento:http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html

Como alternativa, há uma solução alternativa listada no relatório de bug que verifiquei na versão 5.5.10 e reproduzi abaixo:
[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.