Нужен оператор INSERT ... SELECT, но я также хочу вручную установить некоторые поля - PullRequest
2 голосов
/ 11 марта 2011

Мне нужен оператор вставки, который будет примерно так:

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

Но мне нужно вручную указать остальные поля.Это возможно?Или мне нужно один раз вставить, а потом обновить?Если мне нужно вставить, а затем обновить, я знаю, что, вероятно, я могу использовать PDO :: lastInsertId для этого, но кто-то может дать четкий пример, пожалуйста?

Ответы [ 2 ]

4 голосов
/ 11 марта 2011

Это возможно: просто введите известные вам значения в предложение select; -)

Например, вы можете получить что-то вроде этого:

insert into your_table (field1, field2, field3)
select 'my_value', field_from_select, 152
from your_other_table
where ...

Здесь, 'my_value' и 152 - это значения, которые я знаю раньше, а field_from_select - это динамическое поле, полученное из select.

0 голосов
/ 11 марта 2011
INSERT INTO tblContent(postTitle, postBody, postAuthor, postDate, postApproved, fromSite)
SELECT 'title',tblSubmissions.body,'author',..... 
WHERE tblSubmissions.submissionId = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...