这让我疯了。我正在尝试将值插入到以下“统计信息”表中:
_date spam1
-----------------
2011-06-13
使用
INSERT INTO stats (spam1) VALUES (7) WHERE `_date` = '2011-06-13'
MySQL返回
#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 'WHERE `_date` = '2011-06-13'' at line 1
我不明白。删除日期周围的引号或_date周围的反引号也无济于事。我做错了什么?
[编辑] 谢谢 - 你们都得到了一个upvote :)我多么愚蠢...当然我需要更新而不是INSERT ...时间休息一下我想:P
答案 0 :(得分:3)
也许您应该考虑使用UPDATE而不是INSERT
UPDATE stats SET spam1 = 7 WHERE _date = '2011-06-13';
答案 1 :(得分:2)
您想要UPDATE而不是INSERT,请尝试:
UPDATE stats SET `spam1` = 7 WHERE `_date` = '2011-06-13'
答案 2 :(得分:2)
INSERT
语句允许您向表中添加新记录(新行)。您想要UPDATE
现有记录:
UPDATE stats SET spam1 = 7 WHERE `_date` = '2011-06-13';
答案 3 :(得分:1)
INSERT有两种主要形式:
INSERT INTO Table[(columns)] VALUES(...)
INSERT INTO Table[(columns)] SELECT ...
您可以将WHERE子句用作SELECT版本的一部分。
你想要达到什么目的?更新,将spam1
列值设置为7,其中日期是给定日期?
UPDATE Stats SET Spam1 = 7 WHERE _Date = '2011-06-13';