好的,我对这一个感到难过:
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
这里是表格desc(略有消毒):
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(我知道它已经老了,但我目前无法升级此框)。
答案 0 :(得分:2)
如果您要更新现有行,请执行以下操作:
UPDATE item
SET col1 = 'testing'
WHERE item_name = 'server1';
答案 1 :(得分:1)
您没有正确使用INSERT
语句,如果您使用VALUES
条款,则无法对其应用WHERE
条件。
以下是具有相应语法的相同查询:
INSERT INTO item (col1)
SELECT 'testing'
FROM yourTable
WHERE item_name = 'server1';
希望这会对你有所帮助。