我有一个运行此更新的脚本:
UPDATE `Cq_Item`
SET `rfq_item_id` = '9',
`value` = 'No Bid',
`datetime_created` = '2012-10-23T20:54:42+00:00',
`id` = '101'
WHERE `id` = '101'
针对这张表:
CREATE TABLE IF NOT EXISTS `cq_item` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`rfq_item_id` mediumint(8) unsigned NOT NULL,
`product_id_quoted` mediumint(8) unsigned DEFAULT NULL,
`quantity` mediumint(6) unsigned DEFAULT '0',
`value` float(10,4) NOT NULL,
`datetime_created` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `rfq_item_id` (`rfq_item_id`,`product_id_quoted`,`quantity`,`value`),
KEY `product_id` (`product_id_quoted`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=102 ;
它抛出了这个错误:
1062 - 键 'rfq_item_id' 的重复条目 '9-321742-1-0.0000'
诚然,我不是 SQL 专家,但在 an 上抛出一个欺骗错误对update
我来说似乎不太直观。
我理解为什么会在 an 上抛出这样的错误INSERT
,但是我可以使用一些帮助来弄清楚我做错了什么来解决这个UPDATE
问题