mysql查询 - 错误:您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在'a','1'附近使用正确的语法。在第1行上重复UPIDATE计数=计数+ 1'
失败的查询:
INSERT INTO tags (ip, tag, count)
VALUES ('xx.xx.xxx.xxx', 'krwiopijcy', '1')
ON DUPLICATE KEY UPDATE count=count+1;
我的查询有什么问题吗?
答案 0 :(得分:0)
count
是内置函数,因此may require care to be used as such。但是,正如文档所说,它作为列名完全没问题。您可能想要使用
`count`
话虽如此,使用此表结构我的确切查询(没有转义)没有问题:
CREATE TABLE `tags` (
`ip` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`tag` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`count` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
你评论中的例子有一个撇号太多(在'umacku'后面),这似乎不是问题(因为它没有在错误信息中给出),但你应该粘贴确切的查询:< / p>
INSERT INTO tags (ip, tag, count)
VALUES ('xx.xx.xxx.xxx', 'umacku'', '1')
ON DUPLICATE KEY UPDATE count=count+1;