0

これが私が試しているクエリです:

UPDATE toondb SET tusername = (select username FROM user WHERE userid='1') WHERE (select username FROM user WHERE userid='1') != (select tusername from toondb where tuserid= '1')

うまくいくことを期待して、これを作りました。説明させてください。

「toondb」というテーブルが 1 つあります。toondb にはさまざまな列があります。この特定のケースでは、この表の「tusername」列と「tuserid」列に注目しています。
「tusername」列にはユーザーのユーザー名が含まれ、「tuserid」列にはユーザーのユーザー ID が含まれます。フォームから情報を送信すると、「tusername」列と「tuserid」列に、フォーラムでのユーザー名とユーザー ID が自動的に入力されます。

さて、もう 1 つのテーブル「user」は、情報がどこから来るかです。「user」テーブルには「userid」と「username」の列があります。
私のユーザーIDは1で、ユーザー名は何でも

だから..「toondb」テーブルに自分用の行があります。ユーザー ID は現在、私の行では 1 に設定されています (ユーザー ID は変更されないため)。ただし、ユーザー名は「管理者」に設定されています。

さて、私の新しいユーザー名は「なんでも」であり、「管理者」ではなくなったので、「toondb」をチェックして全員のユーザー ID が自分のユーザー名と一致するように自動的に実行するように設定できるクエリが必要です。


toondb テーブルを確認します
userid が 1であることを確認
します ユーザー名が「Admin」に設定されていることを確認し
ます ユーザー テーブルを確認します
userid が 1であることを確認
します ユーザー名が現在「whatever」に設定されている
ことを確認します

私は基本的な MySQL を知っているので、時々ばかげた質問をすることができます.. ;(

明確にするために..
「tusername」と「tuserid」はtoondbテーブル
の列です「username」と「userid」はユーザーテーブルの列ですユーザーテーブル
値は常に正確です。userテーブルの「username」列の値は、 toondbテーブルの「tusername」列の値に最新の情報を入力する必要があります。

4

1 に答える 1

0

コメントしたように、両方のテーブルにユーザー名を含めないようにする必要がありますが、必要に応じて、ユーザー名が変更されたときにトリガーを使用してユーザー名を更新できます

于 2013-05-12T23:28:53.507 に答える