首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

不能对数据类型 int 指定列阔。 age int (4)

2012-12-17 
不能对数据类型 int 指定列宽。ageint (4)各位帮忙看看,这里面哪错了呢环境SQL2005 create table student(s

不能对数据类型 int 指定列宽。 age int (4)
各位帮忙看看,这里面哪错了呢     环境  SQL  2005 
create table student(
student_id  char (8)  not null,
student_name nvarchar(8)  not null,
sex         nvarchar(1)     not   null,  /// 刚才是用得是    bit (1)   也说无法分配位宽
age         int (4)     not null,
class_id    char (6)    not null ,
department_id  char(6)   not null,
student_addr   nvarchar(40)  not null

)
消息 2716,级别 16,状态 1,第 1 行
第 4 个列、参数或变量: 不能对数据类型 int 指定列宽。



[最优解释]
sex nvarchar(1) not null, /// 刚才是用得是 bit (1) 也说无法分配位宽
age int (4) not null,

bit和int型字段不需要指定长度.
另nvarchar(1)不如改成nchar(1),只有一位的,无须使用变长字符串.
[其他解释]
注释用--不是///

类型不固定时,最好用varchar
[其他解释]
SQL的数据类型
http://msdn.microsoft.com/zh-cn/library/ms187752(v=SQL.90).aspx
[其他解释]

create table student(
student_id char (8) not null,
student_name nvarchar(8) not null,
sex nvarchar(1) not null,-- /// 刚才是用得是 bit (1) 也说无法分配位宽
--如果要用bit类型,直接就是 bit ,不要加1
age int (4) not null,
class_id char (6) not null ,
department_id char(6) not null,
student_addr nvarchar(40) not null
)

[其他解释]
create table student(
student_id char (8) not null,
student_name nvarchar(8) not null,
sex nvarchar(1) not null, --/// 刚才是用得是 bit (1) 也说无法分配位宽
age int  not null,
class_id char (6) not null ,
department_id char(6) not null,
student_addr nvarchar(40) not null

)

[其他解释]
int本来就是4  不用指定了吧
[其他解释]
create table student(
    student_id char (8) not null,
    student_name nvarchar(8) not null,
    sex nvarchar(1) not null, ----/// 刚才是用得是 bit (1) 也说无法分配位宽
    age int  not null,
    class_id char (6) not null ,
    department_id char(6) not null,
    student_addr nvarchar(40) not null

)

[其他解释]
把int后面的4去掉就行了,不需要定义长度
[其他解释]
int在sql server和oracle中不需要定义长度,在mysql中需要定义 把(4)去掉就好了

热点排行