Hallo
ich habe ein Problem mit dem Foreign Key. Ich benutze MySQl 4.1
Hier einmal das SQL Skript.
CREATE TABLE `coupon` (
`CouponID` bigint(20) NOT NULL auto_increment,
`CouponNr` varchar(4) NOT NULL default '',
`CouponName` varchar(30) default NULL,
`MandantID` bigint(20) NOT NULL default '0',
`AngenommenerResponce` varchar(255) default NULL,
`KurzBeschreibung` varchar(255) default NULL,
`Beschreibung` text,
`AnsprechPartner` text,
`EinloeseMechanik` varchar(255) default NULL,
`KundenVorteil` varchar(100) default NULL,
`GueltigkeitsStart` date default '0000-00-00',
`GueltigkeitsEnde` date default '0000-00-00',
`AktionsID` bigint(20) NOT NULL default '0',
`LeistungsPartnerID` bigint(20) NOT NULL default '0',
`AngelegtVon` bigint(20) default NULL,
`ErzeugtAm` datetime default NULL,
`LetzteAenderungVon` datetime default NULL,
`Freitext` text,
`AnmeldePflichtig` tinyint(1) NOT NULL default '1',
`Status` tinyint(1) NOT NULL default '1',
`CouponTypID` int(11) NOT NULL default '-1',
`NotwendigeCoinPunkte` int(11) default '0',
`NotwendigeCentPunkte` int(11) default '0',
`ReinerCentWert` int(11) default '0',
`AnzahlInit` int(11) default '0',
`AnzahlAktuell` int(11) default '0',
`ProduktNummer` int(11) default NULL,
`CouponURL` text,
`Land` char(3) default NULL,
`VerfuegbarNachZahlungInMin` int(11) default NULL,
`SoftwareURL` text,
`PreviewURL` text,
`MaxAufrufeAnzahl` int(11) default NULL,
`DeliveryURL` text,
`ZusatzKommentar1` text,
`ZusatzKommentar2` text,
`ZusatzKommentar3` text,
`CouponAktiv` tinyint(4) NOT NULL default '0',
`CouponBestellbar` tinyint(2) NOT NULL default '1',
`Sortierung` int(6) NOT NULL default '500',
`VersandTemplateID` bigint(20) default '0',
`VersandTyp` bigint(20) default '0',
PRIMARY KEY (`CouponID`),
UNIQUE KEY `CouponID` (`CouponID`),
KEY `LeistungsPartnerID` (`LeistungsPartnerID`,`MandantID`,`CouponNr`),
KEY `CouponNr` (`CouponNr`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=45 ;
CREATE TABLE couponpreise
(
CouponID bigint(20) NOT NULL,
notwendigeCentPunkte int(11),
notwendigeCoinPunkte int(11),
AnzahlInit int(11),
VK decimal(8,2),
AnzahlAktuell int(11),
GueltigkeitsStart datetime,
GueltigkeitsEnde datetime,
DomainID int(11) NOT NULL,
WaehrungsID int(11) NOT NULL,
CONSTRAINT PK_couponpreise PRIMARY KEY (CouponID, WaehrungsID)
);
ALTER TABLE couponpreise ADD CONSTRAINT hat2 FOREIGN KEY (
CouponID
)
REFERENCES coupon (
CouponID
);
Nun kommt der folgende Fehler
SQL-Befehl:
ALTER TABLE couponpreise ADD CONSTRAINT hat2 FOREIGN KEY ( CouponID ) REFERENCES coupon( CouponID )
MySQL meldet:
#1005 - Can't create table '.\test\#sql-23c_100.frm' (errno: 150)
Was ist daran falsch?? Vielen Dank!
ich habe ein Problem mit dem Foreign Key. Ich benutze MySQl 4.1
Hier einmal das SQL Skript.
CREATE TABLE `coupon` (
`CouponID` bigint(20) NOT NULL auto_increment,
`CouponNr` varchar(4) NOT NULL default '',
`CouponName` varchar(30) default NULL,
`MandantID` bigint(20) NOT NULL default '0',
`AngenommenerResponce` varchar(255) default NULL,
`KurzBeschreibung` varchar(255) default NULL,
`Beschreibung` text,
`AnsprechPartner` text,
`EinloeseMechanik` varchar(255) default NULL,
`KundenVorteil` varchar(100) default NULL,
`GueltigkeitsStart` date default '0000-00-00',
`GueltigkeitsEnde` date default '0000-00-00',
`AktionsID` bigint(20) NOT NULL default '0',
`LeistungsPartnerID` bigint(20) NOT NULL default '0',
`AngelegtVon` bigint(20) default NULL,
`ErzeugtAm` datetime default NULL,
`LetzteAenderungVon` datetime default NULL,
`Freitext` text,
`AnmeldePflichtig` tinyint(1) NOT NULL default '1',
`Status` tinyint(1) NOT NULL default '1',
`CouponTypID` int(11) NOT NULL default '-1',
`NotwendigeCoinPunkte` int(11) default '0',
`NotwendigeCentPunkte` int(11) default '0',
`ReinerCentWert` int(11) default '0',
`AnzahlInit` int(11) default '0',
`AnzahlAktuell` int(11) default '0',
`ProduktNummer` int(11) default NULL,
`CouponURL` text,
`Land` char(3) default NULL,
`VerfuegbarNachZahlungInMin` int(11) default NULL,
`SoftwareURL` text,
`PreviewURL` text,
`MaxAufrufeAnzahl` int(11) default NULL,
`DeliveryURL` text,
`ZusatzKommentar1` text,
`ZusatzKommentar2` text,
`ZusatzKommentar3` text,
`CouponAktiv` tinyint(4) NOT NULL default '0',
`CouponBestellbar` tinyint(2) NOT NULL default '1',
`Sortierung` int(6) NOT NULL default '500',
`VersandTemplateID` bigint(20) default '0',
`VersandTyp` bigint(20) default '0',
PRIMARY KEY (`CouponID`),
UNIQUE KEY `CouponID` (`CouponID`),
KEY `LeistungsPartnerID` (`LeistungsPartnerID`,`MandantID`,`CouponNr`),
KEY `CouponNr` (`CouponNr`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=45 ;
CREATE TABLE couponpreise
(
CouponID bigint(20) NOT NULL,
notwendigeCentPunkte int(11),
notwendigeCoinPunkte int(11),
AnzahlInit int(11),
VK decimal(8,2),
AnzahlAktuell int(11),
GueltigkeitsStart datetime,
GueltigkeitsEnde datetime,
DomainID int(11) NOT NULL,
WaehrungsID int(11) NOT NULL,
CONSTRAINT PK_couponpreise PRIMARY KEY (CouponID, WaehrungsID)
);
ALTER TABLE couponpreise ADD CONSTRAINT hat2 FOREIGN KEY (
CouponID
)
REFERENCES coupon (
CouponID
);
Nun kommt der folgende Fehler
SQL-Befehl:
ALTER TABLE couponpreise ADD CONSTRAINT hat2 FOREIGN KEY ( CouponID ) REFERENCES coupon( CouponID )
MySQL meldet:
#1005 - Can't create table '.\test\#sql-23c_100.frm' (errno: 150)
Was ist daran falsch?? Vielen Dank!
Kommentar