2011-04-26 108 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