SQL構文エラー

SQL構文エラー

「No」と「Value」という2つの列を持つsp_enというテーブルがあります。 "no": 4433 を含む行の "value" を 1 に変更するには、次のコマンドを入力します。

INSERT INTO sp_en (Say) WHERE no='4433' values ("1");

返されるエラーは次のとおりです。

エラー1064(42000):SQL構文にエラーがあります。行 1 の「where no="4433" (Say) value ("1")" の近くで使用するには、MySQL Server バージョンのドキュメントを確認してください。

問題は何ですか?すべての答えに感謝します...

答え1

変更したい項目がすでにテーブルにある場合は、挿入しようとしません。以下を更新できます。

UPDATE TABLE sp_en SET Say = 1 WHERE no = 4433;

これにより、列値がno4433で、その行がSay1に設定されているすべての行が更新されます。

私は整数列を仮定しました。

答え2

INSERTこの構文は、データベースに新しいデータを挿入するためにのみ使用されます。値UPDATEの構文を更新または変更するには、次のようにします。

UPDATE TABLE table_name
SET column_name = value
WHERE column_name = value;

上記の構文では、小文字の単語をその値に置き換えます。また、ここで使用されるcolumn_nameはSET変更したい列であり、ここで使用される列は条件付き列WHEREです。

したがって、クエリは次のようになります。

UPDATE TABLE so_en
SET my_column = 1
WHERE no = 4433;

それだけです! ! !

PSこの答えはGoogleで簡単に見つけることができます。だからもう少し研究してみるといいと思います。そしてこの質問はdba stackexchange

関連情報