php - 如何在 INSERT 查询中使用 JOIN?

标签 php mysql sql pdo

我有这个查询:

INSERT INTO table1 (col1)
SELECT :val
FROM table2 t2
WHERE t2.id = :id limit 1;

此查询检查 t2.id = :id 是否为 true,然后插入。现在我也想检查 table3.id = :id 。我想在这种情况下我必须使用 JOIN 。我怎样才能做到这一点?

我传递这样的参数:

$stm->bindValue(":val", $value, PDO::PARAM_STR);
$stm->bindValue(":id", $id, PDO::PARAM_INT);

注意:我知道我可以通过 FK 做到这一点。但我不想要这样。

最佳答案

试试这个

INSERT INTO table1 (col1)
SELECT :val
FROM table2 t2, table3 t3
WHERE t2.id = :id and t3.id = :id limit 1;

关于php - 如何在 INSERT 查询中使用 JOIN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36975634/

相关文章:

php - 在表中存储 cookie 的字段类型是什么?

不同环境下的 PHP session 问题

mysql - 使用 ColdFusion 查询性能

mysql - 单个 MySQL 查询求和日期和计数之间的结果

mysql - 在一组字符串上添加一些字符串

sql - 如何在SQL Server中检查回文

php - 读取PHP EXCEL中的日期格式

php - Magento:在每个类别的基础上通过 "Custom Layout Updates"XML 设置变量?

mysql - 将 MySQL InnoDB 数据库移动到单独的驱动器

java - 尝试查找数据库表中是否存在某个项目(如果不存在)。添加它