Mysql
 sql >> Database >  >> RDS >> Mysql

Il vincolo della chiave esterna di MySQL 5.5 non riesce quando esiste una chiave esterna

Questo sembra essere un bug introdotto da MySQL 5.5.9 su Mac OS X:http ://bugs.mysql.com/bug.php?id=60309

È contrassegnato come corretto in 5.5.13 (rilasciato il 31 maggio) e menzionato nelle note di rilascio:http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html

In alternativa, c'è una soluzione alternativa elencata nella segnalazione di bug che ho verificato in 5.5.10 e riprodotta di seguito:

[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.