MySQL 150错误

MySQL 150错误,mysql,sql,Mysql,Sql,创建以下两个表失败。有人能帮我吗 错误为MySQL:无法创建表(错误号:150) 从: 如果重新创建已删除的表,则该表必须具有定义 符合引用它的外键约束的。它必须 具有正确的列名和类型,并且必须在 参考键,如前所述。如果这些都不满意,MySQL 返回错误号1005,并引用错误中的错误150 信息 从: 如果重新创建已删除的表,则该表必须具有定义 符合引用它的外键约束的。它必须 具有正确的列名和类型,并且必须在 参考键,如前所述。如果这些都不满意,MySQL 返回错误号1005,并引用错误中的错误

创建以下两个表失败。有人能帮我吗

错误为MySQL:无法创建表(错误号:150)

从:

如果重新创建已删除的表,则该表必须具有定义 符合引用它的外键约束的。它必须 具有正确的列名和类型,并且必须在 参考键,如前所述。如果这些都不满意,MySQL 返回错误号1005,并引用错误中的错误150 信息

从:

如果重新创建已删除的表,则该表必须具有定义 符合引用它的外键约束的。它必须 具有正确的列名和类型,并且必须在 参考键,如前所述。如果这些都不满意,MySQL 返回错误号1005,并引用错误中的错误150 信息


表2有这个限制

FOREIGN KEY (DEALER_ID_FK) REFERENCES DEALER(DEALER_ID)
经销商可能不存在。您需要在
LOGIN
表之前创建表
DEALER
,因为
LOGIN
表引用了表
DEALER
DEALER\u ID
,我假设它也是表的主键

还有一件事,在

CREATE TABLE LOGIN (
LOGIN_ID INT NOT NULL AUTO_INCREMENT
, `USERNAME` VARCHAR(10) NOT NULL
, `PASSWORD` VARCHAR(10) NOT NULL
, USER_TYPE VARCHAR(1) NOT NULL
, APPLICATION_ID_FK INT
, DEALER_ID_FK INT
, PRIMARY KEY (LOGIN_ID)
, FOREIGN KEY (APPLICATION_ID_FK) REFERENCES APPLICATION(APPLICATION_ID)
, FOREIGN KEY (DEALER_ID_FK) REFERENCES DEALER(DEALER_ID)
, UNIQUE (USERNAME)
);

表2有这个限制

FOREIGN KEY (DEALER_ID_FK) REFERENCES DEALER(DEALER_ID)
经销商可能不存在。您需要在
LOGIN
表之前创建表
DEALER
,因为
LOGIN
表引用了表
DEALER
DEALER\u ID
,我假设它也是表的主键

还有一件事,在

CREATE TABLE LOGIN (
LOGIN_ID INT NOT NULL AUTO_INCREMENT
, `USERNAME` VARCHAR(10) NOT NULL
, `PASSWORD` VARCHAR(10) NOT NULL
, USER_TYPE VARCHAR(1) NOT NULL
, APPLICATION_ID_FK INT
, DEALER_ID_FK INT
, PRIMARY KEY (LOGIN_ID)
, FOREIGN KEY (APPLICATION_ID_FK) REFERENCES APPLICATION(APPLICATION_ID)
, FOREIGN KEY (DEALER_ID_FK) REFERENCES DEALER(DEALER_ID)
, UNIQUE (USERNAME)
);

我看不见你的曹德。。也许您的sql语法有错误,对吗?这是因为您正在使用。为了跳过这一点,你应该在关键词后面加上反勾号“……在我的问题中解释如下:下面是我现在使用的内容,带有反勾号,仍然是同一个问题。。创建表
psodemo
LOGIN
LOGIN\u ID
INTEGER ZEROFILL NOT NULL AUTO\u INCREMENT,
USERNAME
VARCHAR(45)NOT NULL DEFAULT“”,
VARCHAR(45)NOT NULL DEFAULT“”,
USER\u TYPE
VARCHAR(1)非空默认值“”,
APPLICATION\u ID\u FK
INTEGER非空默认值0,
DEALER\u ID\u FK
INTEGER非空默认值0,主键(
LOGIN\u ID
),约束
APPLICATION\u ID\u FK
外键
APPLICATION\u ID\u FK
)引用
APPLICATION
应用程序ID
)在删除限制上,我使用了backticks,但仍然是相同的错误。我使用的查询与您在上面发布的相同。我使用的是MySQL 5.0版本。请建议我看不到您的caode。可能您的sql语法有错误,对吧?这是因为您正在使用。为了跳过该错误,您应该用backtick`…括起关键字这里是我的问题:下面是我现在使用的东西,带背面记号,仍然是相同的问题..创建表
psodemo
LOGIN
LOGIN\u ID
INTEGER ZEROFILL NOT NULL AUTO\u INCREMENT,
USERNAME
VARCHAR(45)NOT NULL DEFAULT',
PASSWORD
VARCHAR(45)非空默认值“”,
USER\u TYPE
VARCHAR(1)非空默认值“”,
APPLICATION\u ID\u FK
INTEGER非空默认值0,
DEALER\u ID\u FK
INTEGER非空默认值0,主键(
LOGIN\u ID
),约束
APPLICATION\u ID\u FK
外键
APPLICATION\u ID\u FK
APPLICATION\u-ID\u-FK
)在删除限制上引用了
APPLICATION
APPLICATION\u-ID
)我使用了反勾号,但仍然是相同的错误。我使用的查询与上面发布的相同。我使用的是MySQL 5.0版本。请建议