所以我有这样的代码:#1215 - 不能添加外键约束 - 没有错误的数据类型
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
set foreign_key_checks = 0;
# MAKE WAY FOR THE NEW
DROP DATABASE IF EXISTS `Winkelbezoek`;
CREATE DATABASE `Winkelbezoek` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `Winkelbezoek`;
CREATE TABLE IF NOT EXISTS `PERSOON` (
`BSN` int(11) NOT NULL,
`Leeftijd` varchar(30) NOT NULL,
CONSTRAINT
PRIMARY KEY (`BSN`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `WINKEL` (
`Naam` varchar(40) NOT NULL,
`Plaats` varchar(40) DEFAULT 'Breda',
`Grootte` ENUM('Klein','Groot'),
CONSTRAINT
PRIMARY KEY (`Naam`,`Plaats`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `ISKLANTBIJ` (
`BSN` int(11) NOT NULL,
`Datum` date NOT NULL,
`Naam` varchar(40) NOT NULL,
`Plaats` varchar(40) DEFAULT 'Breda',
CONSTRAINT
PRIMARY KEY (`datum`),
FOREIGN KEY (`BSN`) REFERENCES PERSOON(`BSN`),
FOREIGN KEY (`Naam`) REFERENCES WINKEL(`Naam`),
FOREIGN KEY (`Plaats`) REFERENCES WINKEL(`Plaats`) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
当我试图在phpMyAdmin来执行它,它给了我一个错误:#1215 - 无法添加外关键约束
我做了一些搜索,但唯一能找到哪些可能是wrond的是数据类型的不一致使用。现在我已经三重检查了他们,我仍然无法找到这里出了什么问题。有谁知道什么可能是错误?
这是真的,但不能帮助我,因为我推测我知道如何编码。 – user3334936 2015-03-31 10:10:17