我有两个在mySQL中具有一对一关系的表。它们都具有与主键相同的user_id,并且当我将帖子插入到我的第一个表中时,我需要以某种方式,自动能够将具有相同user_id的行插入到我的第二个表中。有没有我可以使用的mysql命令或PHP脚本?
答案 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']。
如果同时插入许多行,这当然会有风险。