【发布时间】:2015-04-07 06:00:41
【问题描述】:
好吧,我被这个难住了:
mysql> INSERT INTO item (col1) VALUES ('testing') WHERE item_name = 'server1';
ERROR 1064 (42000): 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 item_name = 'server1'' at line 1
这是表格描述(稍微消毒):
mysql> desc item;
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| item_name | varchar(128) | YES | | | |
| active | int(11) | NO | | 0 | |
| col1 | varchar(512) | YES | | NULL | |
+--------------+--------------+------+-----+---------+----------------+
]我在 INSERT 上尝试了一些变体,但无济于事。期待有人揭示我遗漏的任何明显的东西!
正在运行:mysql Ver 14.12 Distrib 5.0.95,用于 redhat-linux-gnu (x86_64),使用 readline 5.1(我知道它较旧,但我目前无法升级此机器)。
【问题讨论】:
-
希望这个答案会有所帮助:stackoverflow.com/a/485062/2451726
-
INSERT INTO 不支持 WHERE 这个stackoverflow.com/questions/485039/mysql-insert-where-query 会有所帮助。
-
在 where 条件下使用更新查询而不是插入查询
-
谢谢大家!我在 UPDATE 上完全隔开,这正是我所需要的。感谢您的帮助!