数据库操作的一个坑和笔记

本文分享了解决从Excel导入数据到SQL表时遇到的问题,包括如何通过添加IDENTITY主键来避免重复数据引起的更新失败,以及如何使用SQL语句进行字段的添加和更新。

1.新建了一个数据库表,把excel表格的数据导入进来,全部都是普通字段,没有主键,全部允许为空。然后我加入了一个date_key列。想要往里面填入数据,int型的。结果有的顺利的手动输入成功了。有的就报错,如下第二张截图所示。查了有两三天,没有搞定。本来我是想用SQL语句进行判断更新记录的,结果没有查到合适的SQL语句,后来无奈放弃决定手动输入,结果还更新不了——气不气?!!今天晚上终于知道了原因!

首先是设置。

 

然后看一下这个博客链接,看到这个之后我又看了看数据,发现我的excel表格数据是有重复的,重复的数据在更新的时候,就改变不了。

所以我明白了加入id作为主键——其实就是序号的重要性。其实这也自动让我发现了重复的数据。重复的数据是无用的。

 alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL 

这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1 

这样之后就可以编辑那些NULL的字段,并且可以保存成功了。ID列删除也可以,我后来没有删除。

2.新学到的SQL语句

//添加字段
alter
table test add "年份" varchar(20) alter table test add "月份" varchar(20) alter table test add "日子" varchar(20) select * from test
//将添加的字段填入年、月、日;begindate是日期date格式的数据。最终结果如上图1所示。
update test set "年份"=YEAR(begindate) update test set "月份"=MONTH(begindate) update test set "日子"=DAY(begindate)

 

转载于:https://www.cnblogs.com/wangc034/p/7719362.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值