2011-05-07 70 views
1
DROP TABLE IF EXISTS members; 
CREATE TABLE members (
    Member_ID char(10) NOT NULL default '', 
    Provider_ID char(10) NOT NULL default '', 
    First_Name varchar(30) NOT NULL default '', 
    Middle_Initial char(1) NOT NULL default '', 
    Last_Name varchar(40) NOT NULL default '', 
    Address varchar(100) NOT NULL default '', 
    City varchar(100) NOT NULL default '', 
    State char(2) NOT NULL default '', 
    Zip varchar(5) NOT NULL default '', 
    PRIMARY KEY (Member_ID), 
    FOREIGN KEY (PROVIDER_ID) REFERENCES PROVIDER(PROVIDER_ID) 
) ; 

DROP TABLE IF EXISTS provider; CREATE TABLE提供商( PROVIDER_ID CHAR(10)NOT NULL默认', PROVIDER_NAME VARCHAR(50)NOT NULL默认', 地址为varchar(100)NOT NULL默认', 市VARCHAR(100)NOT NULL默认'', State char(2)NOT NULL default'', Zip char(5)NOT NULL default'', PRIMARY KEY(Provider_ID) );mySql errno:150在里面创建表语句

DROP TABLE IF EXISTS procedures; CREATE TABLE程序( Procedure_ID CHAR(10)NOT NULL默认 '', Doctor_ID CHAR(10)NOT NULL默认 '', Member_ID CHAR(10)NOT NULL默认 '', Procedure_Type_ID CHAR(10)NOT NULL默认'', Procedure_Name varchar(50)NOT NULL default'', Cost int(10)NOT NULL default'0', Date_Executed date NOT NULL default'2000-01-01', PRIMARY KEY(Procedure_ID), FOREIGN KEY(DOCTOR_ID)REFERENCES DOCTOR(DOCTOR_ID), FOREIGN KEY(MEMBER_ID)REFERENCES MEMBER(MEMBER_ID), FOREIGN KEY(PROCEDURE_TYPE_ID)REFERENCES PROCEDURE_TYPE(PROCEDURE_TYPE_ID) );

DROP TABLE IF EXISTS procedure_type; CREATE TABLE PROCEDURE_TYPE( Procedure_Type_ID CHAR(10)NOT NULL默认 '', Procedre_Type_Name VARCHAR(50)NOT NULL默认 '', Procedure_Description VARCHAR(255)NOT NULL默认 '', Procedure_ID CHAR(10)NOT NULL默认'', PRIMARY KEY(Procedure_Type_ID), FOREIGN KEY(PROCEDURE_ID)REFERENCES PROCEDURES(PROCEDURE_ID) );

DROP TABLE IF EXISTS doctor_type; CREATE TABLE doctor_type( TYPE_ID CHAR(10)NOT NULL默认 '', TYPE_NAME VARCHAR(50)NOT NULL默认 '', Type_Description VARCHAR(255)NOT NULL默认 '', PRIMARY KEY(TYPE_ID) );

DROP TABLE IF EXISTS医生; (100)NOT NULL默认值'', Doctor_Name varchar(50)NOT NULL默认值'', Address varchar(100)NOT NULL default '', City varchar(100)NOT NULL default'', State char(2)NOT NULL default'', Zip char(5)NOT NULL default'', PRIMARY KEY(Doctor_ID), FOREIGN KEY TYPE_ID)参考DOCTOR_TYPE(TYPE_ID) );

ERROR 1005(HY000):无法创建表 'thunderhawk.members'(错误:150)

任何想法?

编辑添加了其余的表。我知道这是一个外键问题。我似乎遵循外键语法...

+0

“PROVIDER”中PROVIDER_ID的数据类型是什么? – 2011-05-07 00:53:48

+0

根据'mysql-error-1005'标记中的信息,问题是外键约束。或者你可以查看右边的许多相关链接。 – 2011-05-07 01:05:24

+0

PROVIDER_ID是char(10)链接的所有其他变量。我如何检查小写表名var? – user742626 2011-05-07 02:01:58

回答

0

通常情况下,如果dbms无法创建表,则表示以下情况可能会出错: a)dbms进程没有写入数据目录或文件夹的磁盘配额的写权限已经超过。 b)文件系统已满,没有空间将任何数据写入文件。

查看您的mysqld.log以获取更多详细信息。

+0

我可以创建简单的表格。我相信这与我的外键分配或可能的我的drop table命令有关。 – user742626 2011-05-07 02:07:34

0

试试这个代码:

DROP TABLE IF EXISTS成员;

CREATE TABLE members (
    Member_ID char(10) NOT NULL default 0, 
    Provider_ID char(10) NOT NULL default 0, 
    First_Name varchar(30) NOT NULL default 0, 
    Middle_Initial char(1) NOT NULL default 0, 
    Last_Name varchar(40) NOT NULL default 0, 
    Address varchar(100) NOT NULL default 0, 
    City varchar(100) NOT NULL default 0, 
    State char(2) NOT NULL default 0, 
    Zip varchar(5) NOT NULL default 0, 
    PRIMARY KEY (Member_ID), 
    FOREIGN KEY (PROVIDER_ID) REFERENCES PROVIDER(PROVIDER_ID) 
) ; 
相关问题