繁体   English   中英

将一个表的最后一个ID插入另一个表

[英]Insert last id from one table into another

我有两个表, 文章日志 当将新记录插入Articles表中后,该文章的ID应在此之后插入logs表中。如何使用mysql / php做到这一点? 任何人都可以提供示例代码吗?

通过PHP的mysql_query()进行插入查询后,可以通过调用mysql_insert_id()函数获取ID。 然后,您可以运行日志插入查询。

如果您在articles表上创建了一个插入触发器,这也可以自动完成。

在MySQL中,您可以使用

SELECT @@IDENTITY AS ID;

检索最后插入的行的ID。

SELECT SCOPE_IDENTITY()

更多信息在这里

一个非常简单的例子

$query = "INSERT INTO article(article_title, article_body) VALUES('some title', 'some text')";
    mysql_query($query);

$query = "INSERT INTO logs(article_id, user_id) VALUES(" . mysql_insert_id() . ", 1)";
mysql_query($query);

您可以为此编写数据库触发器。 因此,您不必在每次插入商品表时都在意。 触发器将自动被触发。

CREATE TRIGGER insert_article AFTER INSERT ON articles
     BEGIN
         insert into logs( article_id ) values ( scope_identity());
     END;

暂无
暂无

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

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