看到这样一段 sql,大概能看懂,想具体的学下,不知道该如何在搜索引擎搜素,来求点思路
insert into table_name(id,md5_1,sn,`gmt_create`,`gmt_modified`)
select id,md5_1,sn ,`gmt_create`,now() from
(select 'id','md5_1','sn','gmt_create',now() union all
select 1111,null,null,null,null union all
select 111,'md5_1','sn3', null, null) as a;
1
wangsongyan 2020-05-12 00:44:46 +08:00 via iPhone
insert into select
|
2
yeqizhang 2020-05-12 00:50:29 +08:00 via Android
insert into select from,第一次见到这么用是用来拷贝一个表数据到另一个表……
|
3
levelworm 2020-05-12 01:08:40 +08:00 via Android
insert into select from, 我之前常用于建立临时表。。。
|
4
xuanbg 2020-05-12 01:12:12 +08:00
用 select 的结果集替代 values 的内容,一般用于倒腾数据、生成临时表记录和使用模板数据来生成记录。
|
5
aitiancai 2020-05-12 11:27:12 +08:00
会锁表吧,头两天从新闻上看的。
|
6
CRVV 2020-05-12 12:15:15 +08:00
https://www.postgresql.org/docs/12/sql-insert.html
把不必要的部分去掉,insert 的语法是 INSERT INTO table_name { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query } 最常见的是 INSERT INTO table_name VALUES (1,2,3); 这个等价于 INSERT INTO table_name SELECT 1,2,3; 当然这个 SELECT 可以是任意的查询 其实 SQL 里 VALUES 就是一个直接给出结果的查询,比如子查询也可以写 VALUES SELECT * FROM (VALUES (1, 2, 3)) as foo; SELECT * FROM (SELECT 1, 2, 3) as foo; |