![](/img/trans.png)
[英]MariaDB: Error Code: 1005. Can't create table Foreign key constraint is incorrectly formed"
[英]MYSQL Error Code: 1005. Can't create table `db_xcruz`.`users` (errno: 150 "Foreign key constraint is incorrectly formed")
我在 MySQL 工作台和 errno 150 中有 #1005 错误代码:
MYSQL 错误代码:1005。无法创建表db_xcruz
。 users
(errno: 150 "外键约束格式不正确")
我不知道该怎么办,我什么都试过了。
这是代码
###Database creation###
CREATE DATABASE IF NOT EXISTS `DB_XCRUZ`;
USE `DB_XCRUZ`;
###Tables creation###
/*Users - Table*/
DROP TABLE IF EXISTS `USERS`;
CREATE TABLE `USERS`(
`ID` INT NOT NULL,
`FIRST_NAME` VARCHAR(100) DEFAULT NULL,
`LAST_NAME` VARCHAR(100) DEFAULT NULL,
`EMAIL` VARCHAR(320) DEFAULT NULL,
`CATEGORY_ID` SMALLINT(3) NOT NULL,
`CART_ID` INT NOT NULL,
PRIMARY KEY (`ID`),
FOREIGN KEY (`CATEGORY_ID`) REFERENCES USER_CATEGORIES(`ID`) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (`CART_ID`) REFERENCES CARTS(`ID`) ON UPDATE CASCADE ON DELETE CASCADE
);
/*User categories - Table*/
DROP TABLE IF EXISTS `USER_CATEGORIES`;
CREATE TABLE `USER_CATEGORIES`(
`ID` SMALLINT(3) NOT NULL,
`NAME` VARCHAR(80) DEFAULT NULL,
PRIMARY KEY (`ID`)
);
/*Carts - Table*/
DROP TABLE IF EXISTS `CARTS`;
CREATE TABLE `CARTS`(
`ID` INT NOT NULL,
`SUBTOTAL` DECIMAL(11,2) DEFAULT NULL,
`TOTAL` DECIMAL(11,2) DEFAULT NULL,
PRIMARY KEY (`ID`)
);
在创建user
表之前先创建foreign
表。
###Database creation###
CREATE DATABASE IF NOT EXISTS `DB_XCRUZ`;
USE `DB_XCRUZ`;
###Tables creation###
/*User categories - Table*/
DROP TABLE IF EXISTS `USER_CATEGORIES`;
CREATE TABLE `USER_CATEGORIES`(
`ID` SMALLINT(3) NOT NULL,
`NAME` VARCHAR(80) DEFAULT NULL,
PRIMARY KEY (`ID`)
);
/*Carts - Table*/
DROP TABLE IF EXISTS `CARTS`;
CREATE TABLE `CARTS`(
`ID` INT NOT NULL,
`SUBTOTAL` DECIMAL(11,2) DEFAULT NULL,
`TOTAL` DECIMAL(11,2) DEFAULT NULL,
PRIMARY KEY (`ID`)
);
/*Users - Table*/
DROP TABLE IF EXISTS `USERS`;
CREATE TABLE `USERS`(
`ID` INT NOT NULL,
`FIRST_NAME` VARCHAR(100) DEFAULT NULL,
`LAST_NAME` VARCHAR(100) DEFAULT NULL,
`EMAIL` VARCHAR(320) DEFAULT NULL,
`CATEGORY_ID` SMALLINT(3) NOT NULL,
`CART_ID` INT NOT NULL,
PRIMARY KEY (`ID`),
FOREIGN KEY (`CATEGORY_ID`) REFERENCES USER_CATEGORIES(`ID`) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (`CART_ID`) REFERENCES CARTS(`ID`) ON UPDATE CASCADE ON DELETE CASCADE
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.