更新数据库中的所有表

时间:2013-10-05 02:03:19

标签: php mysql sql sql-update

当用户更改其用户名时,我需要更新所有表格以用新的名称替换旧名称。

我试过了:

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

但是这似乎只改变了一个表(我不知道为什么它选择了这个特定的表;它不是按字母顺序排序的第一个或最后一个)。我试了不止一次,同桌不断变化。

1 个答案:

答案 0 :(得分: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