postgresql 一次插入多条记录_insert into插入多行记录的问题

学习交流,欢迎留言~~

图片中以ACCESS为数据库蓝本。

在insert into插入多行记录时,碰到了新问题,总是出现下图中的问题:

112b285def8aba3d9509f25536cc64e5.png

c3816fbac834ecc78db52069eaf6ab58.png

试了很多解决办法,描述一下,都是笔者流过的泪啊~~

1、以为是两个SQL语句之间不小心写入了空格,但并不是

2、以为是分句之间不该用分号;,但查了一下资料,“SQL语句以分号结束”,并没有错

3、以为是不该写两行insert into,多写了一句insert into,结果弹窗照旧出现

fb5b707ac82cae83ec89f775908df308.png

4、后来查找资料,发现ACCESS中通过insert into一次只能插入一条记录,如果同时有多条记录要追加,就要写多个查询。

发现了一个方法,但是其不适用于ACCESS,而适用于SQL Server数据库。在已有的表中,一次性插入多行数据:

INSERT INTO table_name VALUES (value1,value2,value3,...),(value1,value2,value3,...);

用逗号隔开,括号括起来,加多少行数据就写多少个。

5、最终解决之道

但,在ACCESS中,insert into能不能一次性插入多条记录呢?

关于在ACCESS中如何用insert into语句一次性插入多行记录,终于有了结果。

此方法引用自:

ACCESS一次性插入多条数据_杨千羽的学习历程-CSDN博客​blog.csdn.net
393553f1451ac7400ef94af3b899dff7.png
Insert INTO students
Select DISTINCTROW *
FROM (Select 1 AS ID,"张三" AS XM,"男" AS XB,"12" AS BJ FROM MSysObjects UNION
Select 2 AS ID,"李四" AS XM,"女" AS XB,"13" AS BJ FROM MSysObjects UNION
Select 3 AS ID,"王五" AS XM,"女" AS XB,"14" AS BJ FROM MSysObjects UNION
Select 4 AS ID,"赵六" AS XM,"男" AS XB,"15" AS BJ FROM MSysObjects UNION
Select 5 AS ID,"孙七" AS XM,"女" AS XB,"16" AS BJ FROM MSysObjects UNION
Select 6 AS ID,"吴八" AS XM,"男" AS XB,"17" AS BJ FROM MSysObjects) AS temp;
说明:此处的 students 是一个表,字段有:ID,XM,XB,BJ。MsysObjects 是系统表,只要创建对象,此表中就一定有记录,此表也可以用其它表代替,不过要保证表中至少有一条记录,至于记录的内容在此无关紧要。
另一写法:
Insert INTO students
Select *
FROM (Select TOP 1 1 AS ID,"张三" AS XM,"男" AS XB,"12" AS BJ FROM MSysObjects UNION
Select TOP 1 2 AS ID,"李四" AS XM,"女" AS XB,"13" AS BJ FROM MSysObjects UNION
Select TOP 1 3 AS ID,"王五" AS XM,"女" AS XB,"14" AS BJ FROM MSysObjects UNION
Select TOP 1 4 AS ID,"赵六" AS XM,"男" AS XB,"15" AS BJ FROM MSysObjects UNION
Select TOP 1 5 AS ID,"孙七" AS XM,"女" AS XB,"16" AS BJ FROM MSysObjects UNION
Select TOP 1 6 AS ID,"吴八" AS XM,"男" AS XB,"17" AS BJ FROM MSysObjects) AS temp;

6、总结

在ACCESS中,通过insert into语句,每一次只能插入一条记录;

或者,在ACCESS中可以通过查询设计视图,新建追加查询,以此来追加多天记录;

13266452f13749b339f0308186beafcb.png

还有一种方法,如果既不想用”5、最终解决之道”的复杂语句,但仍想用insert into语句一次性插入多条记录的话,可以使用别的数据管理系统,比如SQL Server、Oracle、MYSQL。都是支持insert into语句一次性插入多条记录的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值