17

有没有一种方法可以使用硬值和子查询的组合通过一个命令插入到表中?

例如:

INSERT INTO suppliers (supplier_id, supplier_name, supplier_type)
SELECT account_no, name
FROM customers
WHERE city = 'San Diego';

我需要supplier_type 为3。那么我可以为第二行执行以下操作吗?

SELECT account_no, name, supplier_type = 3

供应商类型不在客户表中

4

2 回答 2

19

只需将其添加到您的SELECT字段中即可。

INSERT INTO suppliers (supplier_id, supplier_name, supplier_type)
SELECT account_no, name, 3 AS supplier_type
FROM customers
WHERE city = 'San Diego';
于 2013-09-12T19:28:02.767 回答
3

更简单的是,只需在字段中填写值,甚至不需要 AS:

INSERT INTO suppliers (supplier_id, supplier_name, supplier_type)
SELECT account_no, name, 3
FROM customers
WHERE city = 'San Diego';
于 2017-01-20T22:51:11.180 回答