Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-#1215-无法添加外键约束_Mysql_Sql_Database_Phpmyadmin_Foreign Keys - Fatal编程技术网

MySQL-#1215-无法添加外键约束

MySQL-#1215-无法添加外键约束,mysql,sql,database,phpmyadmin,foreign-keys,Mysql,Sql,Database,Phpmyadmin,Foreign Keys,MySQL对我来说是新事物。我通常使用Oracle数据库。我必须将一个小数据库从Oracle10g转换为MySQL语法才能使用phpMyAdmin 我什么都试过了,但我的代码没有发现任何问题。我有这两张桌子,它们就是不能用外键连接 CREATE TABLE Supplier ( ID INT UNSIGNED NOT NULL AUTO_INCREMENT , Company_name VARCHAR (100) , Company_address VAR

MySQL对我来说是新事物。我通常使用Oracle数据库。我必须将一个小数据库从Oracle10g转换为MySQL语法才能使用phpMyAdmin

我什么都试过了,但我的代码没有发现任何问题。我有这两张桌子,它们就是不能用外键连接

CREATE TABLE Supplier
(
   ID INT UNSIGNED NOT NULL AUTO_INCREMENT ,
   Company_name        VARCHAR (100) ,
   Company_address     VARCHAR (100) ,
   Bank_account        VARCHAR (100) ,
   CONSTRAINT PK_Supplier PRIMARY KEY (ID) 
) ;

CREATE TABLE Meat
(
   ID INT UNSIGNED NOT NULL AUTO_INCREMENT , 
   Initial_weight      VARCHAR (50) ,
   Actual_weight       VARCHAR (50) ,
   Date_of_delivery    DATETIME ,
   Durability          DATETIME ,
   Supplier_ID         DECIMAL(38) NOT NULL ,
   CONSTRAINT PK_Meat PRIMARY KEY (ID) ,
   FOREIGN KEY (Supplier_ID) REFERENCES Supplier(ID) 
) ;
MySQL查询结束,错误代码为:#1215-无法添加外键约束


有人在这两个表中看到一些问题吗?

Supplier\u ID
列具有
DECIMAL
类型,而
Supplier
表中的
ID
INT UNSIGNED

更改如下:

CREATE TABLE Supplier
(
   ID INT UNSIGNED NOT NULL AUTO_INCREMENT ,
   Company_name        VARCHAR (100) ,
   Company_address     VARCHAR (100) ,
   Bank_account        VARCHAR (100) ,
   CONSTRAINT PK_Supplier PRIMARY KEY (ID) 
) ;

CREATE TABLE Meat
(
   ID INT UNSIGNED NOT NULL AUTO_INCREMENT , 
   Initial_weight      VARCHAR (50) ,
   Actual_weight       VARCHAR (50) ,
   Date_of_delivery    DATETIME ,
   Durability          DATETIME ,
   Supplier_ID         INT UNSIGNED NOT NULL ,
   CONSTRAINT PK_Meat PRIMARY KEY (ID) ,
   FOREIGN KEY (Supplier_ID) REFERENCES Supplier(ID)
) ;

Dodavatel
提供表定义对不起,我的错误。当然,应该有一个
供应商
,而不是
Dodavatel
。我正在把代码从捷克语翻译成英语,但我忘了翻译最后一行的最后一部分。现在是代码实际。。当然,还是不行。。