每當我在我的表上運行插入時,我都想避免重複。如果唯一鏈接已保存,則應更新該行。在這種情況下可以使用ON DUPLICATE KEY UPDATE
?我一直在嘗試,但它不會工作避免重複行mysql
id cat_id cat_name prod_group link
------ ------ ----------------------- ----------------------------- ---------------------
1 5 Notebooks Alienware /url_to/what_is/unique
10 5 Notebooks Latitude /url_to/what_is/unique
11 3 Desktops Alienware /url_to/what_is/unique
12 3 Desktops Optiplex /url_to/what_is/unique rquery=na
20 3 Desktops Legacy-System /url_to/what_is/unique rquery=na
21 3 Desktops Studio /url_to/what_is/unique rquery=na
22 1 Monitore und Elektronik Axim Electronic /url_to/what_is/unique %40%2CAxim%2BElectronic&rquery=na
27 1 Monitore und Elektronik TV /url_to/what_is/unique rquery=na
28 2 Handys und Tablets Tablet /url_to/what_is/unique rquery=na
29 2 Handys und Tablets Mobile Device /url_to/what_is/unique rquery=na
30 4 Drucker Printer /url_to/what_is/unique
31 6 Server und Netzwerk Cloud Product /url_to/what_is/unique
我的查詢
$sql="INSERT INTO drivers_cat_copy(cat_id,cat_name,prod_group,link)
VALUES('$id','$name','$p','$cat_url')".
"ON DUPLICATE KEY UPDATE cat_id='$id',cat_name='$name',prod_group='$p',link='$cat_url'";
表格屬性
CREATE TABLE `drivers_cat_copy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cat_id` int(1) DEFAULT NULL,
`cat_name` varchar(64) DEFAULT NULL,
`prod_group` varchar(64) DEFAULT NULL,
`link` varchar(1054) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=77 DEFAULT CHARSET=latin1
你可以發表表架構和你說的查詢不起作用嗎? – 2012-08-02 21:13:54
請發佈您嘗試過的不起作用的內容,以便我們幫助弄清楚爲什麼它失敗。 – 2012-08-02 21:15:19
好了一分鐘 – lgt 2012-08-02 21:16:40