所以我对以下内容有点困惑。我有两个表,项目和变化。
项目:
- id
- title
- description
- datecreated
改变:
- id
- title
- description
- projectid FOREIGN KEY
- datecreated
i can't figure out of how to
insert into change (name, description, projectid) value (:name, :description, :projectid)
select id from project
where name = $name
important - insert中的名称和描述由PHP变量使用表单提供。
important -必须使用PDO
实际代码:$sql = "INSERT INTO change (title, description, project_id) SELECT :title, :description, id FROM project WHERE title = :project_title";
$query = $db->prepare($sql);
$query->execute(array(":title" => $title, ":description" => $description, ":project_title" => $created));
这就是我最后所做的,但是Barmar在这个问题和另一个问题上得到了帮助。
$sql = "INSERT INTO `change` (`title`, `description`, `project_id`) SELECT :title, :description, id FROM project WHERE title = :project_title";
$query = $db->prepare($sql);
$query->execute(array(":title" => $title, ":description" => $description, ":project_title" => $created));
当您插入时,您可以使用values
子句或使用select
来指定数据源。你不能两者都用
你想:
INSERT INTO `change` (`title`, `description`, `projectid`)
SELECT :title, :description, id
FROM project
WHERE title = :project_title