2013-04-08 68 views
0

我正在嘗試創建表users但是,當使用MySQL Workbench和PHPMyAdmin運行查詢時,我收到錯誤「無法創建表」。我似乎越來越對,它說的錯誤:我無法在MySQL中創建表(錯誤1005)

店VARCHAR(5),

CREATE TABLE store 
(
    id   INT     NOT NULL AUTO_INCREMENT, 
    short_name VARCHAR(5)      NOT NULL, 
    name  VARCHAR(30)      NOT NULL, 
    address1 VARCHAR(50)      NOT NULL, 
    address2 VARCHAR(20), 
    city  VARCHAR(30)      NOT NULL, 
    state  VARCHAR(30)      NOT NULL, 
    zip   VARCHAR(10)      NOT NULL, 
    phone  VARCHAR(15)      NOT NULL, 
    CONSTRAINT store_pk PRIMARY KEY (id) 
); 

CREATE TABLE users 
(
    id   INT      NOT NULL AUTO_INCREMENT, 
    fname  VARCHAR(35)      NOT NULL, 
    lname  VARCHAR(35)      NOT NULL, 
    password VARCHAR(60),   
    address1 VARCHAR(50)      NOT NULL, 
    address2 VARCHAR(20), 
    city  VARCHAR(30)      NOT NULL, 
    state  VARCHAR(30)      NOT NULL, 
    zip   VARCHAR(10)      NOT NULL, 
    phone  VARCHAR(15), 
    email  VARCHAR(90), 
    store  VARCHAR(5), 
    admin  TINYINT    DEFAULT 0 NOT NULL, 
    mail_list TINYINT    DEFAULT 0 NOT NULL, 
    active  TINYINT    DEFAULT 0 NOT NULL, 
    CONSTRAINT users_pk PRIMARY KEY (id), 
    CONSTRAINT users_fk FOREIGN KEY (store) 
     REFERENCES store (short_name) 
     ON DELETE SET NULL 
     ON UPDATE CASCADE 
); 

Store表添加成功。它只是當我試圖創建用戶表,我得到的錯誤。

+0

什麼是確切的錯誤信息? – Barmar 2013-04-08 19:00:11

回答

2

需要對外鍵中引用的列進行索引。因此,您需要在store.short_name上添加索引以允許在users_fk外鍵中引用該索引。

相關問題