Php 需要一个INSERT…SELECT语句,但我还想手动设置一些字段

Php 需要一个INSERT…SELECT语句,但我还想手动设置一些字段,php,mysql,pdo,insert-select,Php,Mysql,Pdo,Insert Select,我需要一个insert语句来大致实现这一点: INSERT INTO tblContent(postTitle, postBody, postAuthor, postDate, postApproved, fromSite) SELECT tblSubmissions.body WHERE tblSubmissions.submissionId = 1 但我需要手动提供其余字段。这可能吗?或者我需要插入一次,然后更新吗?如果我需要插入然后更新,我知道我

我需要一个insert语句来大致实现这一点:

INSERT INTO
    tblContent(postTitle, postBody, postAuthor, postDate, postApproved, fromSite)
     SELECT tblSubmissions.body
            WHERE tblSubmissions.submissionId = 1

但我需要手动提供其余字段。这可能吗?或者我需要插入一次,然后更新吗?如果我需要插入然后更新,我知道我可能可以使用PDO::lastInsertId来实现这一点,但是有人能提供一个明确的示例吗?

有可能:只需将您知道的值插入
select
子句;-)

例如,您可以有如下内容:

insert into your_table (field1, field2, field3)
select 'my_value', field_from_select, 152
from your_other_table
where ...
这里,
'my_value'
152
是我以前知道的值,而来自
字段是来自
select
的动态字段

INSERT INTO tblContent(postTitle, postBody, postAuthor, postDate, postApproved, fromSite)
SELECT 'title',tblSubmissions.body,'author',..... 
WHERE tblSubmissions.submissionId = 1