注册 登录
编程论坛 MySQL论坛

建表语句出错

心动音符 发布于 2007-11-30 15:44, 2500 次点击
大家能不能帮我看看这两个建表语句有甚么错误 为什么报下面的错误
程序代码:
create table order(
    orderid   integer  primary key,
    name  varchar(32) not null,
    finished integer not null,
    cost double,
    cardno varchar(16),
    dates timestamp,
    userid varchar(16) references user(userid),
    statusid  integer references orderstatus(statusid),
    paywayid integer references payway(paywayid)
);

 
create table OrderLine(
      lineid  integer primary key,
      orderid integer references order(orderid),
      productid bigint (16)  references product(productid),
      amount integer not null
);



程序代码:

Script line: 50 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order(
    orderid   integer  primary key,
    name  varchar(32) not null,
  ' at line 1

Script line: 62 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order(orderid),
      productid bigint (16)  references product(productid),
  ' at line 3

3 回复
#2
purana2007-11-30 16:02
Order是关键字.
改成这样.

drop table `order`;
drop table `orderline`;
create table `order`(
    orderid   integer  primary key,
    name  varchar(32) not null,
    finished integer not null,
    cost double,
    cardno varchar(16),
    dates timestamp,
    userid varchar(16) references user(userid),
    statusid  integer references orderstatus(statusid),
    paywayid integer references payway(paywayid)
);

create table OrderLine(
      lineid  integer primary key,
      orderid integer references `order`(orderid),
      productid bigint (16)  references product(productid),
      amount integer not null
);
#3
心动音符2007-11-30 16:52
`order`
` 这是甚么字符? 我怎么打不上去
#4
purana2007-11-30 16:56
esc下面那个键...``````
1