This question already has answers here:
INSERT with SELECT
(7个答案)
5年前关闭。
我正在尝试完成INSERT语句,而我的一个字段要求我从数据库中提取数据并在INSERT语句中使用它。例如。
在这一点上,我将绑定值并执行。但是我想使用select语句来查找stID的值。
我是否需要将查询保存在变量中,然后使用该变量执行INSERT语句,或者是否可以使用PDO在我的insert语句中添加select语句?
我觉得这个问题不是重复的,因为被称为重复的问题并未讨论如何使用PDO完成此任务。我没有意识到可以将select语句直接放在VALUES参数内。
然后绑定剩下的参数,即:city和:stname。我猜剩下的表和字段名称。
(7个答案)
5年前关闭。
我正在尝试完成INSERT语句,而我的一个字段要求我从数据库中提取数据并在INSERT语句中使用它。例如。
$stmt = $dbh->prepare("INSERT INTO city(id, cityname, stateID) ".
"VALUES ('NULL', :city, :stID)");
在这一点上,我将绑定值并执行。但是我想使用select语句来查找stID的值。
SELECT id FROM state WHERE statename=NY
我是否需要将查询保存在变量中,然后使用该变量执行INSERT语句,或者是否可以使用PDO在我的insert语句中添加select语句?
我觉得这个问题不是重复的,因为被称为重复的问题并未讨论如何使用PDO完成此任务。我没有意识到可以将select语句直接放在VALUES参数内。
最佳答案
只需将SELECT
嵌套到位:
INSERT INTO city(id, cityname, stateID)
VALUES ('NULL', :city,
(SELECT stID from state WHERE stname = :stname LIMIT 1))
然后绑定剩下的参数,即:city和:stname。我猜剩下的表和字段名称。
09-28 01:44