【问题标题】:Using PDO to insert multiple records in multiple tables from one statement?使用 PDO 从一个语句中在多个表中插入多条记录?
【发布时间】:2013-02-05 05:33:21
【问题描述】:

我正在尝试构建一个表单以允许将关键字绑定到文章。此 SQL 语句直接用作查询,但我不知道如何将其打包为 pdo 语句。它将关键字添加到关键字表和关键字 ID + 文章 ID 到多对多映射表。

$insertK = $dbh->prepare("INSERT IGNORE INTO Keywords (Keyword)
VALUES (:KeywordID1);
INSERT INTO Keyword_Article (KeywordID, ArticleID)
VALUES ((SELECT KeywordID FROM Keywords WHERE Keyword = :KeywordID2), :ArticleID)");

$insertK->bindParam(':KeywordID1',  $keywordID);
$insertK->bindParam(':KeywordID2',  $keywordID);
$insertK->bindParam(':ArticleID',  $articleID);
$insertK->excecute();

我见过 PDO 插入几种不同的方法,但没有一种方法可以将两条语句插入到两个不同的表中。

编辑* 如果不可能,那么我如何确保在运行第二个查询之前完成第一个插入?

【问题讨论】:

标签: php mysql sql pdo


【解决方案1】:

这是很常见的误解。
出于某种原因,人们不断尝试在一次调用中填充尽可能多的查询。
虽然实际上根本没有理由。

只需按常规方式逐一运行所有查询。
绝对没有错。

【讨论】:

  • +1 用于告诉 只需按常规方式逐一运行所有查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 2020-10-18
  • 1970-01-01
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多