我運行此代碼:重複條目X發現
INSERT INTO x.contacts (`id`, `name`, `address`) SELECT `id`, `name`, `address` FROM y.contacts;
,它給我下面的錯誤:
Error: Duplicate entry '6323' for key 'PRIMARY'
當我搜索ID 6323在y.contacts
的表中,它只出現一次。
那麼,爲什麼我會得到這個錯誤?
我運行此代碼:重複條目X發現
INSERT INTO x.contacts (`id`, `name`, `address`) SELECT `id`, `name`, `address` FROM y.contacts;
,它給我下面的錯誤:
Error: Duplicate entry '6323' for key 'PRIMARY'
當我搜索ID 6323在y.contacts
的表中,它只出現一次。
那麼,爲什麼我會得到這個錯誤?
在導致問題的自動增量列中存在ID爲0的記錄。
我遇到了同樣的問題,得到的錯誤,但沒有與ID的記錄。在我的情況下,REPAIR TABLE tablename
修復了這個問題。
mysql> repair table items ;
+------------------+--------+----------+--------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+------------------+--------+----------+--------------------------------------------+
| mydb.items | repair | warning | Number of rows changed from 56263 to 56264 |
| mydb.items | repair | status | OK |
+------------------+--------+----------+--------------------------------------------+
2 rows in set (0.40 sec)
MySQL版本:
% mysql --version /www/stackful.com
mysql Ver 14.14 Distrib 5.1.47, for redhat-linux-gnu (i386) using readline 5.1
請告訴我們您所使用的_full_'INSERT'聲明,不是轉述的版本。 –
INSERT INTO x.contacts( \t'id', \t'name', \t'address' ) SELECT \t'id', \t'name', \t'address' 選自Y。 'contacts'; – AllCode
什麼是錯誤的任何好建議? – AllCode