数据库导入Excel数据时出错的原因是“截断”和“完整性要求”,别不在意,会让你难受半天

数据库导入Excel数据时出错的原因是“截断”和“完整性要求”,别不在意

我只是个学生啊!可能说得不对!这几天在做数据库大作业,当向数据库导入Excel数据时出错了,整个人都快炸了,找了一整天都没发现原因,百度上的答案或者说法没一个能解决的。

原地踏步两天,终于明白了错在哪,并成功导入数据,我觉很多新手都会犯这错误。百度可能找不到答案(有是有的!但是反正我没找到)。一定要看完,耐心往下看。

原因有二:
1)“断截“,这是一种可能。意思就是你在数据库里面建好的表格,有某个属性的长度不够长。请注意,Excel里字符型为varchar(225),它字符型,最大长度为225;当Excel里的数据长度大于你数据库里定义的长度就会出现“断截”,导入不会成功的!所以建表时,请注意你的“列”类型为char时,明确长度,别太短了。
2)“破坏数据库完整性”,你建表时定义了相关表的“外键”或者“外码”,如学生表和成绩表,成绩表的外码是学生表的sno;导入Excel数据时,请注意,如果你要导入Excel成绩表,“数据库里的学生表”里务必事先存有该Excel成绩表要导入的“sno”,不然会复制失败。

有的人说,什么要求数据类型要完全一样!完全是胡说。SQL会自动转换的,不需要一样,比如Excel里的数据是double型,数据库里的是int型,它会自动转换;;最关键的是char类型时,长度是有严格要求的,别太短了,会出现“截断”的。一定要注意完整性。
SQL server 断截的说明可以看看:
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值