php - 将值插入两个相关表中

标签 php sql mysql primary-key

我试图对我的真正问题进行一个类比。我有两张表,一张用于文章,一张用于评论。每个都有自己的主键。但是每篇文章都可以有几个评论。

所以这里是用于将文章插入数据库的 SQL(PHP 中的 MySQL)代码:

$sql="INSERT INTO articles (content)
      VALUES
      ('$content')";//$content variable has text related to the article

article 表有两列 articleId 和 content。当我插入内容时,每篇插入的文章都会自动获得一个唯一的 articleId。 articleId 是文章表的主键。有没有一种简单的方法可以有效地获取该 articleId 的数量?用有效的方式我的意思是:尽量避免更多的 SQL 代码。因为在下一步中,我需要使用 articleId 将每个评论与这篇文章相关联。
$sql="INSERT INTO comments (comment, articleId)
      VALUES
      ('$comment', '$articleId')";//commentId is the primary key, but it's auto inserted

最佳答案

为什么不这样:

$query = "INSERT INTO articles ..."
mysql_query($query);
$new_id = mysql_insert_id();

foreach($comments as $comment) {
   $query = "INSERT INTO comments (articleID, comment) VALUES ($new_id, $comment);"
   mysql_query($query);
}

关于php - 将值插入两个相关表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4808093/

相关文章:

php - Emberjs,服务器端 vs 客户端,All in?

php - 如何在 codeigniter 中编写包含 OR、AND、LIKE 的自定义查询

mysql - 数据从一个页面调用到另一页面?

php - HTML5 localStorage & 同源策略 : sometimes it works, 有时它不会

c# - 销售产品数量

mysql - 如何让这个 SQL 查询更加优雅?

mysql - SQL 语句中 LIKE 的模式

php - Laravel 5.4 查询包含 JSON 数组的 JSON 字段

如果满足一定数量的 WHERE 子句,则 SQL 选择

php - 如何从表中输出必要的行?