ON DUPLICATE KEY UPDATE не работает для нескольких столбцов в MySQL 5.1
У меня есть стол test
со следующей структурой:
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL,
`lat` varchar(100) NOT NULL,
`long` varchar(100) NOT NULL,
`updatedon` datetime NOT NULL,
`addedon` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
и я пытаюсь использовать следующие запросы, ни один не работает:
INSERT INTO `test` (`user_id`, `lat`, `long`)
VALUES ('1', 'latv', 'longv')
ON DUPLICATE KEY UPDATE
lat=VALUES(lat),
long = VALUES(long)
INSERT INTO `test` (`user_id`, `lat`, `long`)
VALUES ('1', 'latv', 'longv')
ON DUPLICATE KEY UPDATE
lat="test_lat",
long = "test_long"
вот ошибка для одного запроса:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'long = VALUES(long)' at line 5
Я пытаюсь это в phpmyadmin.