0

データベースを更新しているときにこのエラーが発生しました。フォームの値を変更して送信しません。このエラーを修正する理由と提案を知りたいです。

サンプル

SELECT * FROM `table` WHERE `id` = 1

  id    =  1,
 name   = John,
 city   = New York;

UPDATE `table` SET name = 'John', city = 'New York' WHERE id = 1

データベースから選択したものと同じ値でデータベースを更新し、影響を受ける行を使用すると、0が得られます

4

2 に答える 2

3

文字列値を引用符 (') で囲みます

UPDATE `table` SET name = 'John', city = 'New York' WHERE id = 1
于 2012-05-31T08:27:41.507 に答える
0

マニュアルには次のように記載されています。

ステートメントの場合UPDATE、影響を受けた行のデフォルト値は、実際に変更された行数です。に接続するときに にCLIENT_FOUND_ROWSフラグを指定すると、影響を受ける行の値は「見つかった」行の数になります。つまり、句によって一致します。mysql_real_connect()mysqldWHERE

したがって、UPDATE実際には行を変更しないため、影響を受ける行のデフォルト値は 0 です。

于 2012-05-31T08:44:42.983 に答える