Hello everybody !

I just give up. Can somebody tell me, what I do wrong ?
Here is script:

CREATE DATABASE servcontrol;

USE servcontrol;

CREATE TABLE czesc (
  id_czesci CHAR(100) NOT NULL,
  id_hurtowni TINYINT UNSIGNED NOT NULL,
  id_nazwy INT UNSIGNED NOT NULL,
  dokument SMALLINT UNSIGNED NOT NULL,
  data_zakupu DATE NULL DEFAULT '0000-00-00',
  okres_gw ENUM('brak','3 m-ce','6 m-cy','12 m-cy','24 m-ce','36 m-cy','60
m-cy') NOT NULL,
  okres_gwk ENUM('brak','3 m-ce','6 m-cy','12 m-cy','24 m-ce','36 m-cy','60
m-cy') NOT NULL
) TYPE = INNODB;

CREATE TABLE nazwa (
  id_nazwy INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  nazwa CHAR(100) NOT NULL,
  kod CHAR(20) NOT NULL
) TYPE = INNODB;

CREATE TABLE hurtownia (
  id_hurtowni TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  nazwa CHAR(200) NOT NULL,
  kod CHAR(20) NOT NULL,
  adres CHAR(250) NOT NULL,
  telefon CHAR(50),
  email CHAR(100),
  www CHAR(100),
  dokument SMALLINT UNSIGNED NOT NULL
) TYPE = INNODB;

CREATE TABLE klient (
  id_klienta INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  imie CHAR(30),
  nazwisko CHAR(50),
  adres CHAR(250) NOT NULL,
  telefon CHAR(50),
  email CHAR(100),
  uwagi TEXT,
  firma CHAR(200),
  kod CHAR(20)
) TYPE = INNODB;

CREATE TABLE gwarancja (
  id_gwarancji INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  id_klienta INT UNSIGNED,
  data DATE NOT NULL
) TYPE = INNODB;

CREATE TABLE gwarancja_detal (
  id_gwarancji INT UNSIGNED NOT NULL,
  id_czesci CHAR(100) NOT NULL
) TYPE = INNODB;

CREATE TABLE problemy (
  id_czesci CHAR(100) NOT NULL,
  data DATE NOT NULL,
  opis TEXT NOT NULL
) TYPE = INNODB;

CREATE TABLE reklamacja (
  id_zdarzenia INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  id_czesci CHAR(100) NOT NULL,
  id_klienta INT UNSIGNED NOT NULL,
  data_rekl DATE NOT NULL,
  opis_uszk TEXT NOT NULL,
  uwagi TEXT,
  osprzet TEXT,
  data_odd DATE,
  data_nap DATE,
  opis_nap TEXT,
  id_zastepczy char(100)
) TYPE = INNODB;

CREATE TABLE wymienione (
  id_czesci_s CHAR(100) NOT NULL,
  id_czesci_n CHAR(100) NOT NULL,
  data DATE NOT NULL,
  opis TEXT NOT NULL
) TYPE = INNODB;

CREATE TABLE wyslane (
  id_wyslania INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  id_czesci CHAR(100) NOT NULL,
  id_hurtowni TINYINT UNSIGNED NOT NULL,
  data_wys DATE NOT NULL,
  opis_uszk TEXT NOT NULL,
  uwagi TEXT,
  data_odd DATE,
  opis_nap TEXT
) TYPE = INNODB;

CREATE TABLE pozyczka (
  id_osoby INT UNSIGNED NOT NULL,
  id_czesci CHAR(100) NOT NULL,
  data DATE NOT NULL
) TYPE = INNODB;

CREATE TABLE pracownicy (
  id_osoby INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  imie CHAR(30),
  nazwisko CHAR(50)
) TYPE = INNODB;

ALTER TABLE czesc ADD PRIMARY KEY(id_czesci);

ALTER TABLE nazwa ADD UNIQUE(nazwa);
ALTER TABLE nazwa ADD UNIQUE(kod);
ALTER TABLE hurtownia ADD UNIQUE(nazwa);
ALTER TABLE hurtownia ADD UNIQUE(kod);

ALTER TABLE czesc ADD INDEX(id_hurtowni);
ALTER TABLE czesc ADD INDEX(id_nazwy);
ALTER TABLE gwarancja ADD INDEX(id_klienta);
ALTER TABLE gwarancja_detal ADD INDEX(id_gwarancji);
ALTER TABLE gwarancja_detal ADD INDEX(id_czesci);
ALTER TABLE problemy ADD INDEX(id_czesci);
ALTER TABLE reklamacja ADD INDEX(id_czesci);
ALTER TABLE reklamacja ADD INDEX(id_klienta);
ALTER TABLE reklamacja ADD INDEX(id_zastepczy);
ALTER TABLE wymienione ADD INDEX(id_czesci_s);
ALTER TABLE wymienione ADD INDEX(id_czesci_n);
ALTER TABLE wyslane ADD INDEX(id_czesci);
ALTER TABLE wyslane ADD INDEX(id_hurtowni);
ALTER TABLE pozyczka ADD INDEX(id_osoby);
ALTER TABLE pozyczka ADD INDEX(id_czesci);

ALTER TABLE czesc ADD CONSTRAINT FOREIGN KEY(id_hurtowni) REFERENCES
hurtownia(id_hurtowni) ON DELETE CASCADE;
ALTER TABLE czesc ADD CONSTRAINT FOREIGN KEY(id_nazwy) REFERENCES
nazwa(id_nazwy) ON DELETE CASCADE;
ALTER TABLE gwarancja ADD CONSTRAINT FOREIGN KEY(id_klienta) REFERENCES
klient(id_klienta) ON DELETE SET NULL;
ALTER TABLE gwarancja_detal ADD CONSTRAINT FOREIGN KEY(id_gwarancji)
REFERENCES gwarancja(id_gwarancji) ON DELETE CASCADE;
ALTER TABLE gwarancja_detal ADD CONSTRAINT FOREIGN KEY(id_czesci) REFERENCES
czesc(id_czesci) ON DELETE CASCADE;
/* HERE */ ALTER TABLE reklamacja ADD CONSTRAINT FOREIGN KEY(id_czesci)
REFERENCES czesc(id_czesci) ON DELETE CASCADE;
/* HERE */ ALTER TABLE reklamacja ADD CONSTRAINT FOREIGN KEY(id_zastepczy)
REFERENCES czesc(id_czesci) ON DELETE SET NULL;
ALTER TABLE reklamacja ADD CONSTRAINT FOREIGN KEY(id_klienta) REFERENCES
klient(id_klienta) ON DELETE CASCADE;
/* HERE */ ALTER TABLE problemy ADD CONSTRAINT FOREIGN KEY(id_czesci)
REFERENCES czesc(id_czesci) ON DELETE CASCADE;
/* HERE */ ALTER TABLE wymienione ADD CONSTRAINT FOREIGN KEY(id_czesci_s)
REFERENCES czesc(id_czesci) ON DELETE CASCADE;
/* HERE */ ALTER TABLE wymienione ADD CONSTRAINT FOREIGN KEY(id_czesci_n)
REFERENCES czesc(id_czesci) ON DELETE CASCADE;
/* HERE */ ALTER TABLE wyslane ADD CONSTRAINT FOREIGN KEY(id_czesci)
REFERENCES czesc(id_czesci) ON DELETE CASCADE;
ALTER TABLE wyslane ADD CONSTRAINT FOREIGN KEY(id_hurtowni) REFERENCES
hurtownia(id_hurtowni) ON DELETE CASCADE;
ALTER TABLE pozyczka ADD CONSTRAINT FOREIGN KEY(id_osoby) REFERENCES
pracownicy(id_osoby) ON DELETE CASCADE;
ALTER TABLE pozyczka ADD CONSTRAINT FOREIGN KEY(id_czesci) REFERENCES
czesc(id_czesci) ON DELETE CASCADE;

/* HERE */ means, that here is the problem. I get error number 1005
and the error message string refers to errno 150. I have allready all
nessesery indexes. I use MySQL 3.23.51 on WindowsXP Prof.

Any ideas ?

Best regards
Adrian Sosialuk




---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to