在 MySQL 中使用 ON DUPLICATE KEY UPDATE 时遇到一些问题。下面是我试图运行的查询。
INSERT INTO `Overall` ( `rsn` , `starting_xp` , `starting_lvl` ) VALUES ( 'iWader' , '195843626' , '2281' ) ON DUPLICATE KEY UPDATE `current_xp` = '195843626' AND `current_lvl` = '2281'
- 它插入得很好,但是当有重复时它不会更新,也不会抛出任何错误。
- 通过 PMA 运行查询不会返回错误并且不会更新
- 删除 ON DUPLICATE KEY UPDATE 部分会返回重复键错误
这是我的表的结构
CREATE TABLE IF NOT EXISTS `overall` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`rsn` varchar(12) NOT NULL,
`starting_xp` int(10) unsigned NOT NULL,
`starting_lvl` int(10) unsigned NOT NULL,
`current_xp` int(10) unsigned NOT NULL,
`current_lvl` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `rsn` (`rsn`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;