create table Tb_Users
(
UserId int primary key identity(1,1),
UserName nvarchar(20) not null unique,
NickName nvarchar(20) not null,
Password nvarchar(20) not null,
Sex nvarchar(10) not null,
Question nvarchar(50),
Anwser nvarchar(50),
Email nvarchar(50) not null,
ShowEmail bit default 0 not null,
City nvarchar(20),
Birthday varchar(30),
ImageUrl nvarchar(50),
[Role] int default 0 not null,
Integral int default 0 not null,
UserIP varchar(20),
AddTime datetime default getdate() not null,
UserEnable bit default 0 not null
)insert into Tb_Users values('goopoolzl','龙龙','goopoo','男','','','[email protected]','','1984-11-24','','127.0.0.0')
我想插入这一行。 总是说列名或所提供值的数目与表定义不匹配。
请高手指教下 default的用法~~

解决方案 »

  1.   

    INSERT INTO tb_users(列1,列2,列3,列5) VALUES(col1,col2,col3,col5);
      

  2.   

    你的表有17个字段,你插入的才11个字段。肯定不行。 你可以用 空白代替空值。insert into Tb_Users values('goopoolzl','龙龙','goopoo','男','','','[email protected]',,'','1984-11-24','',,,'127.0.0.0',,,) 
      

  3.   


    说得很清楚了,就是列名与值相对应,默认值可以用DEFAULT 代替!!
      

  4.   

    Default 这个属性 不就是当这个字段不输入的时候,也可以默认会插入到表里面去的嘛。
      

  5.   

    在表名后指定字段:
    insert into 表名(列1,列2) values(v1,v2)