将截断字符串或二进制数据,语句已终止,怎么改动,我写的语句是下面的内容,

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:15:55
use sushe
create table Member
( 学号 bigint not null,
姓名 char(8) not null,
院系 char(16) not null,院系 char(16) not null,
所在班级 char(9) not null,
辅导员 char(6) not null,
班主任 char(6) null,
宿舍门号 bigint not null
)

use sushe
insert into Member (学号,姓名,院系,所在班级,辅导员,班主任)
values (062101501223,'王同学','信息工程学院','计算机应用技术(2)班','朱老师','无')

什么东西???

你这样建表不会错误???

各表中的列名必须唯一。在表 'Member' 中多次指定了列名 '院系'。

另外一个:一个汉字相当于char(2),连个就是char(4),以此类推!

如果你要插入,你试试看:

create table Member
( 学号 bigint not null,
姓名 char(8) not null,
院系 char(16) not null,
所在班级 char(9) not null,
辅导员 char(6) not null,
班主任 char(6) null,
宿舍门号 bigint not null
)

然后插入语句:
insert into Member (学号,姓名,院系,所在班级,辅导员,班主任)
values (062101501223,'王同学','信息工程学院','计算机应用技术(2)班','朱老师','无')

错误原因:

你的所在班级那个字段的属性是:char(9) not null

但是算一下实际需要:char(19)

所以建表代码应该是:

create table Member
( 学号 bigint not null,
姓名 char(8) not null,
院系 char(16) not null,
所在班级 char(19) not null,
辅导员 char(6) not null,
班主任 char(6) null,
宿舍门号 bigint not null
)

不过大一些比较好,建议:使用varchar

比如:所在班级 varchar(30) not null