2017-05-03 38 views
0

我有一個包含2列的數據庫。 首先是類別ID,第二是組ID。 兩者都是主要的。 我需要與組ID 1和2 我的意思是所有的類別需要有羣體1,2,3SQL添加在具有相同ID和不同的第二個ID的錶行中

INSERT INTO `ps_category_group` (`id_category`, `id_group`) 
SELECT `id_category`, 2 FROM (
    SELECT DISTINCT `id_category`,`id_group` From `ps_category_group`) as x; 

添加到表相同類別ID的某些行給我

1062 - 重複錄入「2-2」關鍵「PRIMARY」

+0

請告訴我們更多關於你的表的結構,具有特殊提及要給予任何自動增量值,或者你如何去尋找新的新記錄的主鍵值。 – toonice

回答

0

您選擇的值與同一個表插入到表中。那麼你是在問爲什麼你會得到主鍵違規?當然你是;這正是你的查詢所做的。

根據描述,你似乎想:​​

INSERT INTO `ps_category_group` (`id_category`, `id_group`) 
    SELECT `id_category`, 2 
    FROM `ps_category_group` 
    ON DUPLICATE KEY UPDATE id_category = VALUES(id_category); -- This does nothing if the value already exists in the table 
+0

感謝您的快速回復。我對SQL很陌生。您的代碼給出了#1052 - 欄目列表'id_category'字段列表中含糊不清的錯誤。 – YourSelf

+0

哇,謝謝。有效。 – YourSelf