2011-04-26 106 views
0

这是失败的:为什么这个查询失败?

INSERT INTO sportman 
    (image) 
VALUES 
    ('/res/(1)(38).jpg') 
WHERE sportman_code = '1'; 

image是文本和sportman_code是char(20)。

+0

什么是你的意图是什么? – 2011-04-26 05:42:11

+0

“INSERT”不支持使用此特定语法的WHERE子句。你不会插入数据,如果它已经存在;) – 2011-04-26 05:42:51

+0

嗨mehdi我不认为插入语句可用于更新。相反,您可以尝试以下查询:update sportman set image ='/ res /(1)(38).jpg'其中sportman_code ='1'; – Dinash 2011-04-26 05:44:04

回答

2

你不需要用INSERT查询WHERE条款删除部分

insert into sportman(image) values('/res/(1)(38).jpg') 

如果你正在寻找更新记录使用更新查询,而不是

UPDATE sportman 
    SET image='/res/(1)(38).jpg' 
WHERE sportman_code = '1'; 
1

此查询失败,因为有不应该是INSERT声明中的WHERE子句。

0

插入没有WHERE语法。

试试这个:

INSERT INTO sportman 
      (image, 
      sportman_code) 
VALUES  ('/res/(1)(38).jpg', 
      '1'); 

或使用UPDATE查询

UPDATE sportman 
SET image = '/res/(1)(38).jpg' 
WHERE sportman_code = '1'; 
1
update sportman set image= '/res/(1)(38).jpg' where sportman_code = '1'; 

你需要一个更新查询不插入查询,如果要更新现有的记录做。

或者

插入新记录

INSERT INTO sportman (image,sportman_code) 
VALUES ('/res/(1)(38).jpg', '1'); 
2

我认为你正在寻找替代UPDATE

UPDATE sportman 
SET `image`='/res/(1)(38).jpg' 
WHERE sportman_code = '1'; 
+0

这是一个正确的查询?列名称是图像,并且您正在使用它与表名称。 – Gaurav 2011-04-26 06:00:03

+0

谢谢@Gaurav我编辑了代码 – Ibu 2011-04-26 06:05:35