Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何自动更改两个表的值(MySQL)?_Mysql_Database - Fatal编程技术网

如何自动更改两个表的值(MySQL)?

如何自动更改两个表的值(MySQL)?,mysql,database,Mysql,Database,我有一个包含两个表的数据库。第一个包含用户名、用户密码、用户电子邮件。第二个包含用户名、用户年龄、用户描述 当一个人通过用户名找到他需要的用户时,脚本使用用户名查看数据库,以给出关于某个用户的信息 但是,如果用户通过首选项更改其用户名,则该值仅在第一个表中更改 问题: 1) 有没有办法使第二个表中的用户名自动更改?(如何将它们连接起来) 我正在使用MySQL(phpMyAdmin)。 这只是一个简单的例子。在“现实世界”中,我试图管理具有更多表的更严肃的应用程序。有比为每个表创建单独的php查询

我有一个包含两个表的数据库。第一个包含用户名、用户密码、用户电子邮件。第二个包含用户名、用户年龄、用户描述

当一个人通过用户名找到他需要的用户时,脚本使用用户名查看数据库,以给出关于某个用户的信息

但是,如果用户通过首选项更改其用户名,则该值仅在第一个表中更改

问题:

1) 有没有办法使第二个表中的用户名自动更改?(如何将它们连接起来)

我正在使用MySQL(phpMyAdmin)。
这只是一个简单的例子。在“现实世界”中,我试图管理具有更多表的更严肃的应用程序。有比为每个表创建单独的php查询更简单的方法吗?

您可以在更新后创建一个针对单个行的
MySQL触发器。不过,这可能并不比对表使用单独的PHP查询容易。您不需要将它们全部拼出来,只需在需要同步的时候映射出需要同步的内容,并抽象代码即可


但是,我建议您为用户使用一个唯一的ID字段,并且只将用户名存储在其中一个表中,并在代码和两个表中引用具有ID的用户。在数据库设计中使用可更改的内容作为唯一标识符不是一个好主意。

您需要使用的是“触发器”。