0

データベース内の私のテーブルは次のとおりです。

ID | アカウント名 | アカウント番号 | アカウントの種類 | 住所 | 電子メール | ifsc_code | is_default_account | 電話番号 | ユーザー
---+--------------+----------------+------------ --+---------+-------------------------------+------ --+--------------------+-------------+--------- -
 201 | こんにちはi32irn | 55265766432454 | 貯蓄 | | | mypal.appa99721989@gmail.com | 5545 | ふ | 98654567876 | abc
 195 | こんにちは | 55265766435523 | 貯蓄 | | | mypal.1989@gmail.com | 5545 | t | 98654567876 | 軸
 203 | 何 | 何 | 01010101010101 | 現在 | | | guillaume@sample.com | 6123 | ふ | 09099990 | abc

ビューでフォームを送信すると、私の場合、テーブルの列「is_default_account」に対応するname =「activate」という単一のパラメーターのみが投稿されます。「is_default_account」の値を「t」から「f」に変更したい。たとえば、ここの表では、account_name "hello" の場合は "t" です。そして、それを無効にしたい、つまり「f」にして、フォームから送信された他のものを有効にしたい

4

2 に答える 2

1

これにより、テーブルが更新され、アカウントが「何」のデフォルトになります (is_default_account が BOOLEAN フィールドであると仮定します)。

UPDATE table
SET is_default_account = (account_name = 'what')

次のように、テーブルがリストした数行以上の場合は、制限の更新が必要になる場合があります。

UPDATE table
SET is_default_account = (account_name = 'what')
WHERE is_default_account != (account_name = 'what')
  AND <limit updates by some other criteria like user name>
于 2012-10-24T16:43:16.697 に答える
0

やりたいことを達成するには、フォームから少なくとも 2 つの値を送信する必要があると思います。1 つは更新するアカウントの ID 用で、もう 1 つはアクション (ここでアクティブ化) 用です。ID を送信して切り替えることもできます。これを行うには多くの方法がありますが、あなたが何をしようとしているのか、SQL コードと Playframework コードのどちらが必要なのかを正確に把握することはできません。どこかで更新を制限しないと (id など)、どの特定の行が更新されるかを正確に制御することはできません。playframework 側で助けが必要な場合は、質問を明確にし、さらにコードを追加してください。

于 2012-10-25T11:11:27.730 に答える