count是一个内置函数,因此可能需要小心使用。但是,正如文档所说,作为列名非常好。您可能想使用
`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”后面),这似乎不是问题(因为它没有在错误消息中给出),但您应该粘贴确切的查询:
INSERT INTO tags (ip, tag, count)
VALUES ('xx.xx.xxx.xxx', 'umacku'', '1')
ON DUPLICATE KEY UPDATE count=count+1;