この更新を実行するスクリプトがあります。
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の第一人者ではありませんが、重複エラーをスローすることは、update
私には直感的とは言えません。
なぜそのようなエラーがスローされるのINSERT
かは理解していますが、これでそれを取得するために私が間違っていることを理解するためにいくつかの助けを使うことができますUPDATE
:)