我正在使用这个插入查询,它应该在重复的情况下更新。它不会更新,也不会导致错误。这有什么不对?
主键是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;
答案 0 :(得分:1)
重复值与插入的记录相同,因此记录没有变化,更改其中一个重复值,比如说
temphi = 5
试一试,它会设置
temphi=5
后续插入。