如何在WHERE子句中使用日期插入记录?

时间:2012-03-29 18:12:33

标签: mysql sql

这让我疯了。我正在尝试将值插入到以下“统计信息”表中:

_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

4 个答案:

答案 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有两种主要形式:

  1. INSERT INTO Table[(columns)] VALUES(...)
  2. INSERT INTO Table[(columns)] SELECT ...
  3. 您可以将WHERE子句用作SELECT版本的一部分。

    你想要达到什么目的?更新,将spam1列值设置为7,其中日期是给定日期?

    UPDATE Stats SET Spam1 = 7 WHERE _Date = '2011-06-13';