备份准备
-
先把你要插入数据的表备份一下,以防万一
select * into 新表名 from 要备份表名
-
复制要插入数据表名的表结构(不连数据)
select * into 新表名 from 要备份表名 where 0=1
数据库与excel数据准备
- 比如在 users 表插入数据
- excel 表格里面的数据(插入到数据里面的)
- 第一行名称要与数据库里的字段一样(这里我只插入name 和 age 这两个字段)
- 下面行数是需要插入的数据
开始操作
- 点击导入
- 点击 Excel 文件,点击下一步
- 找到要导入的 excel 表格,下面也要勾选上,点击下一步
- 这一步一般不需要动,点击下一步
- 创建一个新的 users 的临时表 users_temp(如果不新建临时表会报 id 插入错误),点击下一步
- 点击下一步
- 点击追加,下一步
- 点击开始
- 看到successfully,即为导入数据成功,点击关闭
- 在 navicat premium 中可以看到 users_temp 这张新建的表,可以看到数据已经插入进来,但是没有 id 字段
- 我们目标是将数据插入到 users 这张表,不能张冠李戴。运行下面这个 sql 语句。select NEWID() 是sql server中 id 自动生成的 UUID 值
insert into users (id, name, age) select NEWID() id, * from users_temp
- 可以看到 users 表里面的数据插入成功
遇到问题
- 为什么使用 users 的临时表 users_temp
因为 id 原因,直接插入到 users 表的话,会出现 id 不能为空的报错情况