2011-08-21 63 views
1

嗯,我已經得到了100多個關於Stack Overflow的問題的答案,但是現在我終於註冊併發布了第一個問題!爲什麼我的MySQL服務器不能識別外鍵關係?

好吧,我有我的節目的用戶和連接到這臺1 11代表的表:1和1:M的關係。大多數外鍵都設置爲ON UPDATE CASCADE ON DELETE RESTRICT。如果我刪除中心表,它允許我,儘管外鍵應該在位。當我以前處理關係數據庫,我會收到以下錯誤消息:

#1217 - Cannot delete or update a parent row: a foreign key constraint fails 
#1452 - Cannot add or update a child row: a foreign key constraint fails 

現在想起你,這是一次我竟然錯誤消息。我想要一個關係數據庫的功能,而我所有的表都是InnoDB。谷歌沒有幫助我,並且我在MySQL文檔中找不到任何東西。

+3

你刪除表或從中心表中刪除行? –

+0

你可能要檢查是否真的有一個外鍵約束 – pif

+1

檢查也foreign_key_checks'變量'設置:http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #sysvar_foreign_key_checks –

回答

0

上的MySQL論壇This post差點,但沒有詳細說明需要做的事情來解決這個到底是什麼。基本上是:

service mysqld stop 
cd /var/lib/mysql 
mkdir old 
mv ib* old 
vim /etc/my.cnf 
servie mysqld start 

對於VIM,確保innodb_buffer_pool_size,innodb_log_file_size和innodb_log_buffer_size設置正確。 Another post上的MySQL的論壇有一點錯誤配置的,即innodb_log_file_size必須innodb_buffer_pool_size的25%,所以我有16M,4M,8M和這三個分別。

相關問題