重复更新时插入记录未更新

时间:2014-01-25 20:05:24

标签: mysql

我正在使用这个插入查询,它应该在重复的情况下更新。它不会更新,也不会导致错误。这有什么不对?

主键是res_id,lud

INSERT INTO sv_sa (res_id,resort,resort_us,weather,templo,temphi,alert_val,alert,ski_id,lud,tweet)
     VALUES (1561,'Aachen','aachen','PM Rain/Snow',-1,3,2,4,NULL,'2014-01-25',0)
         ON DUPLICATE KEY UPDATE templo=-1, temphi=3, alert_val=2, alert=4, ski_id=NULL

CREATE TABLE `sv_sa` (
  `res_id` int(6) NOT NULL,
  `resort` varchar(30) DEFAULT NULL,
  `resort_us` varchar(30) DEFAULT NULL,
  `ski_id` int(4) DEFAULT NULL,
  `templo` decimal(4,2) DEFAULT NULL,
  `temphi` decimal(4,2) DEFAULT NULL,
  `weather` varchar(50) DEFAULT NULL,
  `alert_val` int(3) DEFAULT NULL,
  `alert` int(3) DEFAULT NULL,
  `snow_valley_min` int(4) DEFAULT NULL,
  `snow_valley_max` int(4) DEFAULT NULL,
  `snow_mountain` int(4) DEFAULT NULL,
  `lifts_open` varchar(8) DEFAULT NULL,
  `tweet` tinyint(4) DEFAULT NULL,
  `lud` date NOT NULL,
  PRIMARY KEY (`res_id`,`lud`),
  KEY `alert` (`alert`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

1 个答案:

答案 0 :(得分:1)

重复值与插入的记录相同,因此记录没有变化,更改其中一个重复值,比如说

  

temphi = 5

试一试,它会设置

temphi=5 

后续插入。