2012-01-26 19 views
0

MySQLデータベースのフィールドを更新しようとしていますが、エラーが発生しています。はMySQLデータベースのフィールドを更新できません

これは私のクエリ

UPDATE tbl SET fl1="val",fl2="val", fl3="val" WHERE fl0="val val" 

これで私は、クエリ

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 'val WHEREfl0="val val"' at line 1 

を実行しようとしたとき、私は受信したエラーは、私は、クエリからの情報を削除し、ダミーテキストに置き換えています。

+0

WHEREfl0は間違っています(WHERE fl0である必要があります)。これはあなたが与えたエラーであることを確信していますか? – sathia

+0

元のクエリでWHERE&f10の間にスペースがあることを確認します。 ''val WHEREfl0 =" val val "' ' – SeanNieuwoudt

+0

はい!それらの間に[スペース]があります! – sikas

答えて

1

はそれを見つけた:D ...私はこの、実行する複数のクエリを持っています問題は途中でクエリにあった。このようなものだった... PHPを使用して行われます:

UPDATE tbl SET fl1='val',fl2='val', fl3=''val WHERE fl0='val val' 

のご支援ありがとうございました。

0

これはどうですか?

UPDATE `tbl` 
    SET `fl1` = 'val', 
     `fl2` = 'val', 
     `fl3` = 'val' 
WHERE `fl0` = 'val val' 

1.)ダブルクォートをアポストロフィに変更しました。

2)reserved wordが含まれている場合は、backtickを追加しました。エラーを見てみると

1

、私は2つの問題のすべての最初の

val WHEREfl0="val val" 
  • は、WHEREfl0はおそらく第二WHERE fl0

  • ここでの問題val WHERE[..]私はあなたが"が欠けていると思うべきである見ますそこ。

val" WHERE fl0="val val"

私は、このクエリが正しいので、ダミーテキストを追加しながら、クエリを固定推測しています:

UPDATE tbl SET fl1="val",fl2="val", fl3="val" WHERE fl0="val val" 
1

は倍増、単一引用符を使用しないようにしてください。また、 "`" あなたの構文でを使用する必要があります( '')

UPDATE tbl SET fl1='val',fl2=val', fl3='val' WHERE fl0='val val'

UPDATE `tbl` SET `fl1`='val',`fl2`=val', `fl3`='val' WHERE `fl0`='val val'