PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   Fehler 1005 - Aber warum? (http://www.selfphp.de/forum/showthread.php?t=24444)

viodrummer 17.10.2011 22:01:45

Fehler 1005 - Aber warum?
 
Hi leutz,
ich habe folgendes Problem. Ich möchte eine Datenbank anlegen. Es geht leider nicht, da mir folgender Fehler angezeigt wird:
Code:

#1005 - Can't create table 'bookingplaner.bewerbung' (errno: 150) (Details ...)
Folgenden Code habe ich für die Datenbankerstellung genommen.
Woran liegt nun der Fehler?
Fehlt INDEX?
Code:


SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Datenbank: `bookingplaner`
--
CREATE DATABASE `bookingplaner` DEFAULT  COLLATE utf8_general_ci;
USE `bookingplaner`;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `bewerbung`
--

CREATE TABLE IF NOT EXISTS `bewerbung` (
  `bew_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `bew_veranstaltungsname` varchar(100)  NOT NULL,
  `bew_zeit` varchar(11) NOT NULL,
  `bew_veranstalter` int unsigned NOT NULL,
  `bew_deal` int unsigned NOT NULL,
  `bew_dealdetails` varchar(100) NOT NULL,
  `bew_reisekosten` varchar(100) NOT NULL,
  `bew_werbung` varchar(100) NOT NULL,
  `bew_programm` varchar(1000) NOT NULL,
  `bew_spielzeit` varchar(100) NOT NULL,
  `bew_soundcheck` varchar(100) NOT NULL,
  `bew_unterkunft` varchar(100) NOT NULL,
  `bew_catering` varchar(100) NOT NULL,
  `bew_beschreibung` varchar(1000) NOT NULL,
  PRIMARY KEY (`bew_id`),
FOREIGN KEY (`bew_deal`) REFERENCES `deal`(`deal_id`), FOREIGN KEY (`bew_veranstalter`) REFERENCES `veranstalter`(`veranst_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `bewerbung`
--

INSERT INTO `bewerbung` (`bew_id`, `bew_veranstaltungsname`, `bew_zeit`, `bew_veranstalter`, `bew_deal`, `bew_dealdetails`, `bew_reisekosten`, `bew_werbung`, `bew_programm`, `bew_spielzeit`, `bew_soundcheck`, `bew_unterkunft`, `bew_catering`, `bew_beschreibung`) VALUES
(1, 'Schönauer Parkfest 2012', '12.04.2012', 1, 1, 'keine Angabe', '450€', '25 Plakate A4', '1. Sonne Nach Dem Regen, 2. Alles Nur Theater, 3. Schenk mir Glück ...', '20.15-22.30 Uhr', '18 Uhr', 'Asteria Hotel, Musterweg Nr, Ort', 'volles Buffet', 'nischt mehr');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `deal`
--

CREATE TABLE IF NOT EXISTS `deal` (
  `deal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `deal_name` varchar(100)  NOT NULL,
  PRIMARY KEY (`deal_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `deal`
--

INSERT INTO `deal` (`deal_id`, `deal_name`) VALUES
(1, 'Festgage'),
(2, 'Einnahmebeteiligung'),
(3, 'Catering als Gage');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `genre`
--

CREATE TABLE IF NOT EXISTS `genre` (
  `genre_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `genre_name` varchar(100)  NOT NULL,
  PRIMARY KEY (`genre_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `genre`
--

INSERT INTO `genre` (`genre_id`, `genre_name`) VALUES
(1, 'Pop'),
(2, 'Rock'),
(3, 'Orchester'),
(4, 'Jazz'),
(5, 'Country'),
(6, 'Klassik'),
(7, 'Weltmusik & Folklore');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `plz`
--

CREATE TABLE IF NOT EXISTS `plz` (
  `plz_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `plz_nummer` varchar(11) NOT NULL,
  PRIMARY KEY (`plz_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `plz`
--

INSERT INTO `plz` (`plz_id`, `plz_nummer`) VALUES
(1, '04205');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `veranstalter`
--

CREATE TABLE IF NOT EXISTS `veranstalter` (
  `veranst_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `veranst_firma` varchar(100)  NOT NULL,
  `veranst_genre` int(10) unsigned NOT NULL,
  `veranst_vorname` varchar(100)  NOT NULL,
  `veranst_nachname` varchar(100)  NOT NULL,
  `veranst_plz` int(10) unsigned NOT NULL,
  `veranst_ort` varchar(100)  NOT NULL,
  `veranst_strasse` varchar(100)  NOT NULL,
  `veranst_url` varchar(1000)  NOT NULL,
  `veranst_mail` varchar(100)  NOT NULL,
  `veranst_skype` varchar(100)  NOT NULL,
  `veranst_facebook` varchar(100)  NOT NULL,
  `veranst_myspace` varchar(100)  NOT NULL,
  PRIMARY KEY (`veranst_id`),
FOREIGN KEY (`veranst_genre`) REFERENCES `genre`(`genre_id`), FOREIGN KEY (`veranst_plz`) REFERENCES `plz`(`plz_id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Daten für Tabelle `veranstalter`
--

INSERT INTO `veranstalter` (`veranst_id`, `veranst_firma`, `veranst_genre`, `veranst_vorname`, `veranst_nachname`, `veranst_plz`, `veranst_ort`, `veranst_strasse`, `veranst_url`, `veranst_mail`, `veranst_skype`, `veranst_facebook`, `veranst_myspace`) VALUES
(1, 'Musterfirma GmbH', 1, 'Max', 'Mustermann', 1, 'Leipzig', 'Musterstraße', 'http://www.google.de', 'info@mustermann.de', '12345', 'http://www.facebook.com/muster', 'http://www.myspace.com/muster');

Danke im Voraus für die Hilfe!

DokuLeseHemmung 17.10.2011 22:22:29

AW: Fehler 1005 - Aber warum?
 
Vermutung:

Trage deine FOREIGN KEYs per ALTER TABLE nach dem erzeugen aller Tabellen ein.
Oder nutze:
Code:

SET FOREIGN_KEY_CHECKS=0;

viodrummer 17.10.2011 22:57:00

AW: Fehler 1005 - Aber warum?
 
Danke dir, mit
Code:

SET FOREIGN_KEY_CHECKS=0;
hat es einwandfrei funktioniert!


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:14:53 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.