2012-01-11 23 views
-3

上記のフィールドが何かと等しいテーブルのフィールドを更新したいとします。Mysqlの更新フィールド

例えば、私がやりたい:

UPDATE users SET name = 'John' WHERE name = 'Jane' 

は、この有効な構文ですか私はエラーが出るのだろうか?

+3

試しましたか?はい、それは有効です。はい、あなたが持っているように動作します。 –

+1

他のRDBMSとの互換性のために、一重引用符で囲まれた文字列を二重引用符で囲むのが望ましいですが。 "John" –

+1

あなたはhttp://www.w3schools.comから基本的なことを学ぶべきです。ここにはSQLアップデートのリンクがあります。http://www.w3schools.com/sql/sql_update.asp –

答えて

4

はい、うまくいくはずです。私は二重引用符(一重引用符ではなく)を使用するとエラーが発生すると思っていただろうが、私はそれを試してみたところ、うまくいった。

二重引用符でも機能しますが、一重引用符の使用は容認された標準です。 ANSI SQLをより厳密に実行するRDBMS(OracleまたはMSSQL)を使用している場合にのみ使用することをお勧めします。

+0

MySQLはこれをサポートしていますが、これは標準のSQL:1999からの逸脱です。しかし、 – Piskvor

+1

MSSQLはエラーをスローします。 – Aaron

+0

私はPHPを使ってクエリを生成するので、私は一重引用符を使用します。 $ query = "UPDATE users SET name = '$ new_name' WHERE .."のようなものです。 where句の同じフィールドを使用してフィールドを更新するのが有効かどうかわからないため、私は尋ねました。 – ppp

関連する問題