所以我有這樣的代碼:#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