注册 登录
编程论坛 SQL Server论坛

一个创建数据表出现的问题?

hwj20070118 发布于 2007-04-05 22:30, 895 次点击
代码如下:
use Test;
create table infor
(
ID int(4)
username varchar(60) not null
password varchar(30) not null
primary key (ID)
);
insert into infor values(1,"li","123");

运行后,出现:
服务器: 消息 170,级别 15,状态 1,行 6
第 6 行: 'username' 附近有语法错误。
服务器: 消息 128,级别 15,状态 1,行 10
在此上下文中不允许使用 'li'。此处只允许使用常量、表达式或变量。不允许使用列名。

请问,是什么原因的?
谢谢
8 回复
#2
棉花糖ONE2007-04-05 22:34
int后面不能跟长度,每个字段定义完后要加逗号
#3
hwj200701182007-04-05 22:46
回复:(hwj20070118)一个创建数据表出现的问题?
我改成这样,不过还是不行

use Test;
create table infor
(
ID int ;
username varchar(60) not null;
password varchar(30) not null;
primary key (ID);
);
insert into infor values(1,"li","123");

出现:
服务器: 消息 170,级别 15,状态 1,行 5
第 5 行: ';' 附近有语法错误。
服务器: 消息 128,级别 15,状态 1,行 10
在此上下文中不允许使用 'li'。此处只允许使用常量、表达式或变量。不允许使用列名。



#4
hwj200701182007-04-05 22:49

use Test;
create table infor
(
ID int ,
username varchar(60) not null,
password varchar(30) not null,
primary key (ID),
);
insert into infor values(1,"li","123");

还是提示:
服务器: 消息 128,级别 15,状态 1,行 10
在此上下文中不允许使用 '张三'。此处只允许使用常量、表达式或变量。不允许使用列名。

#5
棉花糖ONE2007-04-05 23:26

去找本书学习吧

#6
Kendy1234562007-04-06 12:28
use Test
create table infor
(
ID int ,
username varchar(60) not null,
password varchar(30) not null,
)

ALTER TABLE infor ADD
CONSTRAINT [pk_ID] PRIMARY KEY
(
[Id]
) ON [PRIMARY]

insert into infor values(1,"li","123")
#7
xiyou4192007-04-06 14:39
以下是引用hwj20070118在2007-4-5 22:49:13的发言:

use Test;
create table infor
(
ID int ,
username varchar(60) not null,
password varchar(30) not null,
primary key (ID),
);
insert into infor values(1,"li","123");

还是提示:
服务器: 消息 128,级别 15,状态 1,行 10
在此上下文中不允许使用 '张三'。此处只允许使用常量、表达式或变量。不允许使用列名。

首先,你的'张三'和你上面的语句没有任何关系,你肯定写错了.
记住:SQL中的字符串用单引号
还有:ID,password是系统保留字,最好不要用

#8
xiyou4192007-04-06 14:39
create table infor
(
ID1 int ,
username varchar(60) not null,
password1 varchar(30) not null,
primary key (ID1),
)
insert into infor values(1,'li','123');
#9
hwj200701182007-04-06 22:31
谢谢.以上各位.
1