[英]MYSQL Error Code: 1005. Can't create table `db_xcruz`.`users` (errno: 150 "Foreign key constraint is incorrectly formed")
I'm having the #1005 error code in MySQL workbench and errno 150:我在 MySQL 工作台和 errno 150 中有 #1005 错误代码:
MYSQL Error Code: 1005. Can't create table db_xcruz
. MYSQL 错误代码:1005。无法创建表
db_xcruz
。 users
(errno: 150 "Foreign key constraint is incorrectly formed") users
(errno: 150 "外键约束格式不正确")
I don't know what to do, i tried everything.我不知道该怎么办,我什么都试过了。
Here's the code这是代码
###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`)
);
create your foreign
tables first before creating the user
table.在创建
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.