-2

私は管理者のphpを使用しており、このクエリを実行しようとしています:

INSERT INTO msumat(tempat_lahir) VALUES ('Jakarta') WHERE umat_id != 10

クエリは見つかるはずですが、常にエラーが発生します:

#1064 - 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 umat_id != 10' at line 1

私の間違いはどこですか?また、最近、奇妙な事実を発見しました。

私のコンピューターの''クエリは引用符で実行されていますが、このクエリは私の友人のコンピューターでは実行されていません''。それはphpmyadminのバグですか?ありがとう

4

2 に答える 2

4

挿入と更新を混同しているようです。

挿入は新しい行を作成し、挿入する値を常に提供します。

更新は、一連の行のデータを変更します。

これが更新であると仮定すると:

UPDATE msumat set tempat_lahir = 'Jakarta' where umat_id != 10;
于 2013-03-22T02:05:39.670 に答える
2

デフォルトでは、ステートメントに節を含めるINSERTことはできません。WHERE

INSERT INTO tableName (column1, ...) VALUES (Value1,...)

ステートメントに句を含めるINSERTことができるのは、ステートメントを実行しているときだけです。WHEREINSERT INTO..SELECT

INSERT INTO tableName (column1, ...)
SELECT column1, ...
FROM   Table_name2
WHERE  ....

既存の列を変更したいので、使用する必要があると思いますUPDATE

UPDATE msumat
SET    tempat_lahir = 'Jakarta'
WHERE  umat_id <> 10

常にこれを覚えておいてください:

  • INSERTテーブルに新しいレコードを追加するために常に使用されます。
  • UPDATEテーブルのレコードを変更するために使用されます。
于 2013-03-22T02:08:46.117 に答える