CREATE TABLE orders (
  cust_id int(5) NOT NULL,
  order_id int(5) NOT NULL,
  date timestamp(12),
  instructions varchar(128),
  creditcard char(16),
  expirydate char(5),
  PRIMARY KEY (cust_id,order_id)
) type=MyISAM ;发生错误:
ERROR 1064 (42000): 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 '(12),instructions varchar(128),
creditcard char(16),
expirydate char(5),
PRIMAR' at line 4
------------------------------------------------------------------------------------------
说实话,没看出哪里错了,小弟新手一个,书上用MySQL 4.4通过了,小弟的5.5没通过,咋回事?
另外,是不是MySQL5.5不允许加入type=MyISAM?小弟的很多语句加入它都错了,尚不明白为什么,不过在这里我去掉type=MyISAM也没用啊? 

解决方案 »

  1.   

    晕,我看错了,我以为这是MySQL,原来是MS-SQL,版主能不能给挪个地?
      

  2.   

    对MYSQL 不熟悉,建议转帖到MYSQL板块!
      

  3.   

    你在定义字段时有和MYSQL的保留字段有相同的字段名,在第4行请把date字段名修改一下
      

  4.   

    CREATE TABLE orders (
     cust_id int(5) NOT NULL,
     order_id int(5) NOT NULL,
     `date` timestamp,
     instructions varchar(128),
     creditcard char(16),
     expirydate char(5),
     PRIMARY KEY (cust_id,order_id)
    ) type=MyISAM ;
      

  5.   

    把date加上``,怎么就通过了呢?加上``是什么意思?为什么我把date改名都不好用,这样却好用?
      

  6.   

    date 是保留字。
    建议看一下MYSQL的免费手册中的说明。
    因为你没有注意到  timestamp(12), 改成 timestamp,
    1. 仔细
    2. 多看MYSQL文档
    3. 实践