【发布时间】:2014-05-20 16:27:09
【问题描述】:
我在创建表时收到这些错误,当我取出外键时它们会起作用。我对构建数据库比较陌生,所以我可能会遗漏一些简单的东西
Create Table IF NOT EXISTS Classroom_Address_Mailing_Tbl (
ID int auto_increment primary key,
Street_Address varchar (25),
City varchar (25),
State_Abbr varchar (2),
Zipcode varchar (10)
);
Create Table IF NOT EXISTS Classroom_Address_Physical_Tbl (
ID int auto_increment primary key,
Street_Address varchar (25),
City varchar (25),
State_Abbr varchar (2),
Zipcode varchar (10)
);
Create Table IF NOT EXISTS Classroom_Info_Tbl (
ID int auto_increment primary key,
School_Name varchar (25),
Classroom_Name_Offical varchar (25),
Classroom_URL varchar (25),
Classroom_Address_Physical_ID int,
Classroom_Address_Mailing_ID int,
foreign key (Classroom_Address_Mailing_ID) references
Classroom_Address_Mailing_Tbl (ID) on delete cascade,
foreign key (Classroom_Address_Physical_ID) references
Classroom_Address_Physical_Tbl (ID) on delete cascade,
);
Create Table IF NOT EXISTS Contact_Info_Tbl (
Classroom_ID int,
Contact_Name varchar (20),
Contact_Title varchar (20),
Contact_Email varchar (20),
Contact_Phone varchar (20),
foreign key (Classroom_ID) references
Classroom_Info_Tbl (ID) on delete cascade
);
这些是我得到的错误:
ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 7 行的 ')' 附近使用正确的语法
错误 1005 (HY000): 无法创建表 'neClassCertForm.Contact_Info_Tbl' (errno: 150)
【问题讨论】:
-
在不存在 IF NOT EXISTS 的情况下尝试。
-
@AbhikChakraborty 仍然没有,我在另一个线程中读到,使用 cmets 可能会产生一些影响(我不知道为什么),但我有一个注释掉的标题和更多表格。
标签: mysql mysql-error-1064 mysql-error-1005