SQLserver插入数据的时候报错不知道怎么回事
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLserver插入数据的时候报错不知道怎么回事相关的知识,希望对你有一定的参考价值。
我创建了一个数据库,然后新建了三个表,像这样:
然后往这三个表里面插入数据,像这样:
但是在插入student表的时候报错了,' ' 附近有语法错误。看了很久没有看出是什么原因。请大神指教。
我这把你代码全敲了,没问题,你新开一个查询页面,把我这部分copy进去
create table xueyuan(xueyuan_name varchar(20) primary key)
create table class
(class_name varchar(20) primary key,
xueyuan_name varchar(20) foreign key references xueyuan(xueyuan_name))
create table student
(student_name varchar(20) primary key,
class_name varchar(20) foreign key references class(class_name),
student_ruxue date)
insert into xueyuan values (\'计算机学院\')
insert into xueyuan values (\'软件学院\')
insert into class values (\'计算机一班\',\'计算机学院\')
insert into class values (\'计算机二班\',\'计算机学院\')
insert into class values (\'软件一班\',\'软件学院\')
insert into class values (\'软件二班\',\'软件学院\')
insert into student values (\'cs11\',\'计算机一班\',\'2008-08-08\')
insert into student values (\'cs12\',\'计算机一班\',\'2008-08-08\')
insert into student values (\'cs21\',\'计算机二班\',\'2008-08-08\')
insert into student values (\'cs22\',\'计算机二班\',\'2008-08-08\')
顺嘴说一句,date类型没问题,本来就是日期,改成varchar以后如果时间用于计算的话,还需要转换,会麻烦许多,LZ,下次看回答你问题的,看下水平,不要盲目选择答案
参考技术A student_ruxue date 改成 varchar(20) 试试, 因为你插入的日期类型有问题,改成varchar类型就好了追问这就把数据类型都换了。如果我需要插入日期类型,应该怎么做呢?
追答日期类型的数据有时就容易出现问题,建议还是varchar比较好, 或者你用TO_Date() 日期函数将字符串转化为日期类型的
sqlserver 执行一段脚本报错,逐句执行就能成功,怎么回事?
“xxx" 是随便取的值,临时加个字段中转PID列的值,是想移除掉PID字段的自增约束, 猜测可能是执行之前预编译了这段代码,这时还插入xxx列。逐句执行没问题。脚本要放更新库中统一执行,有没有什么办法??alter table FIXF_Pub_XW add xxx int ;update FIXF_Pub_XW set xxx=PID ;alter table FIXF_Pub_XW drop column PID;exec sp_rename 'FIXF_Pub_XW.xxx', 'PID', 'COLUMN';
参考技术A update 前那一句 增加字段的 请comiit; 参考技术B alter table FIXF_Pub_XW add xxx int;go
update FIXF_Pub_XW set xxx=PID ;
go
alter table FIXF_Pub_XW drop column PID;
go
exec sp_rename 'FIXF_Pub_XW.xxx', 'PID', 'COLUMN';本回答被提问者和网友采纳
以上是关于SQLserver插入数据的时候报错不知道怎么回事的主要内容,如果未能解决你的问题,请参考以下文章
sqlserver插入语句报“将截断字符串或二进制数据”怎么解决,怎么回事?
sqlserver 执行一段脚本报错,逐句执行就能成功,怎么回事?