0

2 つのテーブルがあり、1 つidのテーブルには がusernameあり、テーブルの名前は ですuservalueそのテーブルには、テーブルidからのIDを格納するための別のテーブルがありuserます。テーブルには、項目を格納するために使用されるandvalueという列もあります。valueitem_id

値内の次の列を更新する更新ステートメントを書きたいのですid, value, item_idが、ステートメントを実行する必要がある値はusername = $username, value = $value and item_id=$item_id(アプリケーションに基づいて)

id(username id)valueを格納する update ステートメントを作成するにはどうすればよいですか?item_id

update ステートメントを使用する理由は、ユーザーがvalueいつでも列内の値を変更できるためです。

4

2 に答える 2

0
UPDATE `value` SET `value` = $value WHERE item_id = $item_id 
AND user_id IN (SELECT id FROM `users` WHERE username = $username)

データベース入力を必ずサニタイズしてください。

これは、エントリを作成する場合にのみ更新されます (user_id と item_id が 2 番目のテーブルの結合された主キーであると仮定します)、replace into ステートメントを使用できます。

それが必要な場合は教えてください。それは質問ではなかったと思います。

効率的ではないかもしれませんが、それほど重要ではないと思いますが、もちろん、別のクエリを使用して最初にユーザー ID を取得できます。

これはおそらく理解しやすいでしょう。

于 2013-06-13T18:32:26.427 に答える
0

これを試して

UPDATE value, user
SET value = $value
WHERE item_id = $item_id
AND value.user_id = user.user_id
AND user.username = $username;
于 2013-06-14T04:01:00.540 に答える