繁体   English   中英

如何自动将新行添加到另一个表PHP MYSQL中

[英]How to automatically add a new row to another table PHP MYSQL

我有两个在mySQL中具有一对一关系的表。 它们都具有与主键相同的user_id,并且当我将帖子插入到我的第一个表中时,我需要以某种方式,自动能够将具有相同user_id的行插入到我的第二个表中。 有没有我可以使用的mysql命令或PHP脚本?

您可以在数据库中设置TRIGGER 这些触发器实体存储在数据库的结构中,使用PHP,您可能只执行创建一个的CREATE TRIGGER查询。

但是,两个表与PRIMARY KEY具有完全相同的数据听起来就像您的数据库结构有点严重建模。 您应该花时间重新构建数据库,基本上将两个表合并(如果可能)。

如果您使用PHP来INSERT INTO数据库,您可以在彼此之后调用两个查询:

INSERT INTO table1(field1, field2...) VALUES (value1, value2...)
INSERT INTO table2(field1, field2...) VALUES (value1, value2...)

但是,相互依赖两个查询需要精确定位,因为主键可能不同步,破坏了关系。

如果我理解你的问题,你可以从第一个表中获取插入的user_id,并使用它在第二个表中插入一个新行。

$query = mysql_query("SELECT * FROM first_table ORDER BY user_id DESC LIMIT 1");
$row = mysql_fetch_assoc($query);

现在可以在第二个表中插入$ row ['user_id']。

如果同时插入许多行,这当然会有风险。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM