0

ユーザーがユーザー名を変更すると、古い名前を新しい名前に置き換えるためにすべてのテーブルを更新する必要があります。

私が試してみました:

mysqli_query($con,"UPDATE * SET UserName='".$username2."'
                 WHERE UserName='".$username."'"); 

しかし、これは 1 つのテーブルのみを変更したようです (なぜこの特定のテーブルを選択したのかはわかりません。アルファベット順のソート順で最初でも最後でもありません)。何度も試しましたが、同じテーブルが変化し続けました。

4

1 に答える 1

2

まず、「usename」を複数の場所に保存するのはなぜですか? 悪いデザインです。

それでもやらなければならない場合は、主キー - 外部キーの関係を使用してください。そして更新カスケードオプションについて。ここを参照してください: http://dev.mysql.com/doc/refman/5.6/en/innodb-foreign-key-constraints.html

別のオプションは、トリガーを使用することです。問題のテーブルを更新すると、トリガーが起動し、割り当てられたタスクを実行できるようになります。ここを参照してください: http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

于 2013-10-05T02:41:49.187 に答える