有没有办法插入预设值和我从选择查询中获得的值?例如:
INSERT INTO table1 VALUES ("A string", 5, [int]).
我有“A string”的值和数字 5,但我必须从这样的选择中找到 [int] 值:
SELECT idTable2
FROM table2
WHERE ...
这给了我将 ID 放入 table1 中。
如何将其合并到一个语句中?
使用insert ... select
查询,并将已知值放入select
:
insert into table1
select 'A string', 5, idTable2
from table2
where ...
只需在此处使用子查询,例如:
INSERT INTO table1 VALUES ("A string", 5, (SELECT ...)).
插入表名 1 (ID, 姓名, 地址, 联系电话) SELECT id、name、address、contact_number FROM table_name2;
试试这个
INSERT INTO TABLE1 (COL1 , COL2,COL3) values
('A STRING' , 5 , (select idTable2 from Table2) )
where ...
所有其他答案都解决了这个问题,我的答案与其他答案的工作方式相同,但只是以一种更具教学性的方式(这适用于 MySQL ......不知道其他 SQL 服务器):
INSERT INTO table1 SET
stringColumn = 'A String',
numericColumn = 5,
selectColumn = (SELECT idTable2 FROM table2 WHERE ...);
您可以参考 MySQL 文档:INSERT Syntax
INSERT INTO table1
SELECT "A string", 5, idTable2
FROM table2
WHERE ...
见:http ://dev.mysql.com/doc/refman/5.6/en/insert-select.html
尝试以下操作:
INSERT INTO table1
SELECT 'A string', 5, idTable2 idTable2 FROM table2 WHERE ...
INSERT INTO table1 (col1, col2)
SELECT "a string", 5, TheNameOfTheFieldInTable2
FROM table2 where ...
试试这个:
INSERT INTO table1 SELECT "A string", 5, idTable2 FROM table2 WHERE ...
INSERT INTO table1(Table2Id, KeyTypeEnumId, SortOrder, TenantId)
SELECT Id, 1, 1, TenantId
FROM table2
WHERE WebsitePageTypeEnumId = 10 AND ElementTypeEnumId = 16