create table order1(
ID int(10) not null, 
ORDERNO varchar(20) not null, 
ORDERDATE timestamp not null, 
TOTAL varchar(20) not null,  
CUSTOMER_ID varchar(20) not null,
primary key(ID),
foreign key (CUSTOMER_ID) references CUSTOMER (id)
)我吧order1表中的customer_id设为外键,关联到customer表的id字段,提示上面语句有问题,请问哪里出错了?

解决方案 »

  1.   

    CONSTRAINT PK6 CUSTOMER_ID CUSTOMER (id)
    这样你试试
      

  2.   

    就报can not create table
      

  3.   

    constraint fk foreign key (CUSTOMER_ID) references CUSTOMER (id)
    这下应该没错了
      

  4.   

    CUSTOMER 表中id的字段的类型是varchar的吗? 
      

  5.   


    是Int型。但是CUSTOMER_ID varchar(20) not null, 改成CUSTOMER_ID int(20) not null, 也不行
      

  6.   

    CREATE TABLE order1(
    ID INT(10) NOT NULL,  
    ORDERNO VARCHAR(20) NOT NULL,  
    ORDERDATE TIMESTAMP NOT NULL,  
    TOTAL VARCHAR(20) NOT NULL,   
    CUSTOMER_ID VARCHAR(20) NOT NULL REFERENCES CUSTOMER(CUSTOMER_ID),
    PRIMARY KEY(ID)
    )这样可以
      

  7.   

    你先将order1表给创建出来,然后再给表创建主外键关系;
    下面就是个这两个表的主外键关系:
    ALTER TABLE `order1` 
      ADD FOREIGN KEY (`CUSTOMER_ID`) REFERENCES `CUSTOMER` (`id`); 
      

  8.   

    CREATE TABLE order1 (ID int(10) not null, 
    ORDERNO varchar(20) not null, 
    ORDERDATE timestamp not null, 
    TOTAL varchar(20) not null,  
    CUSTOMER_ID varchar(20) not null,
    primary key(ID),
    foreign key (CUSTOMER_ID) references CUSTOMER (id) CONSTRAINT `CUSTOMER_ID` FOREIGN KEY (`CUSTOMER_ID`) REFERENCES `数据库名`.`表名` (`id`)
    );