我在 mySQL 中有 2 个具有一对一关系的表。它们都具有与主键相同的 user_id,当我将帖子插入到我的第一个表中时,我需要以某种方式自动将具有相同 user_id 的行插入到我的第二个表中。是否有任何我可以使用的 mysql 命令或 PHP 脚本?
问问题
2080 次
2 回答
2
TRIGGER
您可以在数据库中设置一个。这些触发器实体存储在数据库的结构中,使用 PHP 您可能只执行CREATE TRIGGER
创建一个的查询。
但是,两个表具有完全相同的数据,PRIMARY KEY
听起来像您的数据库结构有点糟糕。您应该花时间改造数据库,基本上将两个表合并(如果可能)在一起。
如果您INSERT INTO
对数据库使用 PHP,则可以依次调用这两个查询:
INSERT INTO table1(field1, field2...) VALUES (value1, value2...)
INSERT INTO table2(field1, field2...) VALUES (value1, value2...)
但是依赖于两个彼此之后的查询需要精确的准确性,因为主键可能会不同步,从而破坏关系。
于 2012-08-07T11:18:31.813 回答
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'] 可以插入到第二个表中。
如果同时插入许多行,这当然是有风险的。
于 2012-08-07T11:23:47.773 回答