php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.10.2004, 20:49  
Gast
 
Beiträge: n/a
Standard [Erledigt] InnoDB Problem oder Syntaxfehler?

Weiss einer wo das Problem liegt?
Habe folgende Tabellen. AI_KUNDEN u. AI_KUNDEN_EMAIL funktionieren. AI_KUNDEN_RA funktioniert nicht.
Fehlermeldung:
#1005 - Can't create table '.\aidb\ai_kunden_ra.frm' (errno: 150)

CREATE TABLE `AI_KUNDEN` (
`KundenNr` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Name` VARCHAR(250) NOT NULL,
`Vorname` VARCHAR(250) NOT NULL,
`Firma` VARCHAR(250),
`ErstellDatum` DATE NOT NULL
) TYPE=InnoDB;

CREATE TABLE `AI_KUNDEN_EMAIL` (
`KundenNr` INT(11) NOT NULL,
`Email` VARCHAR(200) NOT NULL,
`Datum` DATE NOT NULL,
`Bezeichnung` VARCHAR(250),
PRIMARY KEY (`KundenNr`,`Email`),
FOREIGN KEY (`KundenNr`) REFERENCES AI_KUNDEN(`KundenNr`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;

CREATE TABLE `AI_KUNDEN_RA` (
`RA_Nr` INT(11) NOT NULL AUTO_INCREMENT,
`KundenNr` INT(11) NOT NULL,
`Name` VARCHAR(200) NOT NULL,
`Vorname` VARCHAR(200) NOT NULL,
`Strasse` VARCHAR(200) NOT NULL,
`HausNr` VARCHAR(200) NOT NULL,
`Plz` VARCHAR(200) NOT NULL,
`Ort` VARCHAR(200) NOT NULL,
`Land` VARCHAR(200) NOT NULL,
`ErstellDatum` DATE NOT NULL,
PRIMARY KEY (`RA_Nr`),
FOREIGN KEY (`KundenNr`) REFERENCES AI_KUNDEN(`KundenNr`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;

Ich möchte das geprüft wird, ob es den Kunden gibt und das die KundenNr bei einem UPDATE angepasst wird.
Das komische ist, dass es bei der Tabelle AI_KUNDEN_EMAIL perfekt funktioniert.

Kann mir hier einer weiterhelfen?
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.10.2004, 08:39  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard

Foreign key constraints: http://dev.mysql.com/doc/mysql/en/In...nstraints.html
Zitat:
Zitat von MySql-Doku
If MySQL reports an error number 1005 from a CREATE TABLE statement, and the error message string refers to errno 150, this means that the table creation failed because a foreign key constraint was not correctly formed. Similarly, if an ALTER TABLE fails and it refers to errno 150, that means a foreign key definition would be incorrectly formed for the altered table. Starting from MySQL 4.0.13, you can use SHOW INNODB STATUS to display a detailed explanation of the latest InnoDB foreign key error in the server.
EDIT
Weiter:
Zitat:
Zitat von Nochmal die MySql-Doku (selbe Stelle)
In the referencing table, there must be an index where the foreign key columns are listed as the first columns in the same order.
Das ist bei Dir nicht gegeben, das erste Feld ist "`RA_Nr` INT(11) NOT NULL AUTO_INCREMENT, "...
__________________
Cheers, Marco
marsch ist offline   Mit Zitat antworten
Alt 27.10.2004, 16:44  
Gast
 
Beiträge: n/a
Standard

Danke marsch,

ich glaube ich habe die Lösung nun gefunden. Der Index hatte gefehlt.

CREATE TABLE `AI_KUNDEN_RA` (
`RA_Nr` INT(11) NOT NULL AUTO_INCREMENT,
`KundenNr` INT(11) NOT NULL,
`Name` VARCHAR(200) NOT NULL,
`Vorname` VARCHAR(200) NOT NULL,
`Strasse` VARCHAR(200) NOT NULL,
`HausNr` VARCHAR(200) NOT NULL,
`Plz` VARCHAR(200) NOT NULL,
`Ort` VARCHAR(200) NOT NULL,
`Land` VARCHAR(200) NOT NULL,
`ErstellDatum` DATE NOT NULL,
PRIMARY KEY (`RA_Nr`),
INDEX KundenNr (`KundenNr`),
FOREIGN KEY (`KundenNr`) REFERENCES AI_KUNDEN(`KundenNr`) ON DELETE CASCADE ON UPDATE CASCADE
) TYPE=InnoDB;

Habe einfach einen INDEX KundenNr erstellt. Jetzt funktioniert es!

Ich bedanke mich für die schnelle helfende Antwort.

Simon
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Tipp zur Volltextsuche? InnoDB zu MyISAM? bicpi Datenbanken 0 21.09.2006 17:43
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
MySQL startet nicht mehr: InnoDB Hendrik007 Datenbanken 7 05.07.2006 11:21
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
phpMyAdmin startet nicht Datenbanken 12 02.02.2006 12:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] MySQL findet Datenbank nicht Datenbanken 10 21.10.2004 09:14
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
type innodb syntax error, \'type=innodb auto_increment=34\', type innodb problem, innodb is null, innodb auto_increment primary key, type=innodb auto_increment=2, innodb \not null\, innodb fremdschlüssel null, mysql bug innodb auto_increment, mysql innodb auto_increment bug, create table )type = innodb geht nicht, foreign key innodb, cascade type innodb, phpmyadmin fehler bei create table type=innodb, type=innodb fehlermeldung, can\'t create table (errno: 150), mysql synta innodb, fehler \'type=innodb auto_increment, mysql dienst startet nicht innodb syntax fehler, cannot create table. if the error message refers to error 150, table creation failed because a foreign key constraint was not correctly formed

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:25 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.