心动音符 发表于 2007-11-30 15:44

建表语句出错

大家能不能帮我看看这两个建表语句有甚么错误 为什么报下面的错误
[code]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
);
[/code]


[code]
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

[/code]

purana 发表于 2007-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
);

心动音符 发表于 2007-11-30 16:52

`order`
` 这是甚么字符? 我怎么打不上去

purana 发表于 2007-11-30 16:56

esc下面那个键...``````

页: [1]

编程论坛