Problem med MYSQL
Jag får inte det jädrans skript att fungera, vad är felet?
DROP TABLE if exists Bildelar;
DROP TABLE if exists Kund;
DROP TABLE if exists Lagersaldo;
DROP TABLE if exists Ordern;
CREATE TABLE Bildelar
(
marke VARCHAR(255) NOT NULL,
modell VARCHAR(255) NOT NULL,
arsmodell VARCHAR(255) NOT NULL,
artikel VARCHAR(255),
beteckning VARCHAR(255) NOT NULL,
bildel VARCHAR(255) NOT NULL,
pris INTEGER(5) NOT NULL,
PRIMARY KEY (marke, modell, arsmodell, artikel)
)TYPE=InnoDB;
CREATE TABLE Kund
(
namn CHAR(255) NOT NULL,
personnr VARCHAR(255) NOT NULL,
adress VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
kundnr VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
PRIMARY KEY (kundnr)
)TYPE=InnoDB;
CREATE TABLE Lagersaldo
(
artikel VARCHAR(255),
antal INTEGER(5) NOT NULL,
PRIMARY KEY (artikel, antal),
FOREIGN KEY (artikel) REFERENCES Bildelar (artikel)
ON UPDATE CASCADE ON DELETE NO ACTION
)TYPE=InnoDB;
CREATE TABLE Ordern
(
ordernr VARCHAR(255) NOT NULL,
kundnr VARCHAR(255) NOT NULL,
artikel VARCHAR(255),
antal INTEGER(5) NOT NULL,
PRIMARY KEY (ordernr),
FOREIGN KEY (kundnr) REFERENCES Kund (kundnr)
ON UPDATE CASCADE ON DELETE NO ACTION,
FOREIGN KEY (artikel) REFERENCES Bildelar (artikel)
ON UPDATE CASCADE ON DELETE NO ACTION
)TYPE=InnoDB;
Det stora problemet är kolumnen artikel som inte fungerar att sätta som främmande nyckel någonstans.
Nu är det så att jag inte är hemma, men om jag inte minns fel så är felmeddelandet något i stil med "MySQL ERROR 1005: Can't create table (errno: 150))" När det gäller tabellerna Lagersaldo samt Ordern (där artikel finns)
Kan nämnas att jag även testat att indexera artikel i Ordern & Lagersaldo, men icke!
Vad f*n gör jag för fel?