UPDATE `tbl_goods_stock_v2` SET `stock_quantity` = 21 WHERE `goods_sku` = 1012333205 AND `cus_id` = 0错误:Duplicate entry '21' for key 'stock_quantity'表结构:CREATE TABLE `tbl_goods_stock_v2` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `cus_id` int(10) DEFAULT '0' COMMENT '客户编号',
   `goods_sku` int(10) unsigned NOT NULL COMMENT '商品SKU',
   `stock_quantity` int(10) NOT NULL COMMENT '锁定库存数量',
   PRIMARY KEY (`id`),
   UNIQUE KEY `stock_quantity` (`stock_quantity`),
   KEY `id` (`id`,`cus_id`,`goods_sku`)
 )请问为什么报错? 这条语句在MSSQL里是正常执行的

解决方案 »

  1.   

    stock_quantity为唯一索引,你替换的有重复stock_quantity=21
      

  2.   

    我哪个语句是把stock_quantity置为唯一索引?
      

  3.   


    CREATE TABLE `tbl_goods_stock_v2` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `cus_id` int(10) DEFAULT '0' COMMENT '客户编号',
      `goods_sku` int(10) unsigned NOT NULL COMMENT '商品SKU',
      `stock_quantity` int(10) NOT NULL COMMENT '锁定库存数量',
      PRIMARY KEY (`id`),
      UNIQUE KEY `stock_quantity` (`stock_quantity`),
      KEY `id` (`id`,`cus_id`,`goods_sku`)
      )
      

  4.   

      UNIQUE KEY `stock_quantity` (`stock_quantity`), 这句是吧我不记得什么时候设置过这个了