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

时间:2012-08-07 11:11:34

标签: php mysql phpmyadmin row

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

2 个答案:

答案 0 :(得分:2)

您可以在数据库中设置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...)

但是依赖于两个查询之后需要精确定位,因为主键可能会不同步,从而破坏关系。

答案 1 :(得分:1)

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

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

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

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