Üdv!
Egy lite CRM-hez kellene adatbázist készíteni, azonban egy táblát nem tudok sehogy sem létrehozni. errno:150 hibaüzenetet dobál a szerver. Először CLI-n próbáltam létrehozni, aztán a sok sikertelenség után a mysql-admin GUI-jával próbáltam, az alábbi kódot generálja:
CREATE TABLE ugyfel (
id INT NOT NULL AUTO_INCREMENT,
nev VARCHAR(30) NOT NULL,
statuszid INT NOT NULL,
tipusid INT NOT NULL,
telefon VARCHAR(30) DEFAULT NULL,
fax VARCHAR(30) DEFAULT NULL,
email VARCHAR(100) DEFAULT NULL,
weboldal VARCHAR(100) DEFAULT NULL,
ertekesitoid INT NOT NULL,
cegjegyzek VARCHAR(20) DEFAULT NULL,
adoszam VARCHAR(20) DEFAULT NULL,
bankneve VARCHAR(100) DEFAULT NULL,
swift VARCHAR(10) DEFAULT NULL,
szamlaszam VARCHAR(30) DEFAULT NULL,
holtalaltrank VARCHAR(300) DEFAULT NULL,
miertminket VARCHAR(300) DEFAULT NULL,
miertnemminket VARCHAR(300) DEFAULT NULL,
feljegyzesek VARCHAR(300) DEFAULT NULL,
PRIMARY KEY (id),
CONSTRAINT fk_statusz FOREIGN KEY fk_statusz (statuszid)
REFERENCES ugyfel_statusz (id)
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT fk_tipus FOREIGN KEY fk_tipus (tipusid)
REFERENCES ugyfel_tipus (id)
ON DELETE RESTRICT
ON UPDATE CASCADE,
CONSTRAINT fk_ertekesito FOREIGN KEY fk_ertekesito (ertekesitoid)
REFERENCES munkatarsak (id)
ON DELETE RESTRICT
ON UPDATE CASCADE
)
ENGINE = InnoDB
CHARACTER SET utf8 COLLATE utf8_hungarian_ci;
A hivatkozott táblák már léteznek, az id mezők primary key-jel lettek létrehozva.
Google találatok között olyan megoldási ajánlatot találtam csak, mi szerint létre kell hozni egy indexet a tábláról, de ez sem segített. dev.mysql.com sem igazán akart barátkozni velem.
Szerver: MySQL 5.1.49-1ubuntu8.1
Host: Ubuntu 10.10
Mi a gond?
- 1363 megtekintés
Hozzászólások
a 3 referált tábla létezik? index van a fq-ban referált összes mezőn?
http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html
Itt megadott korlátozásokat megnézted?
Ha utólag adod hozzá a constraint-eket, akkor is kínlódik?
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Köszi, ezekről nem tudtam eddig. Legtöbbjére kapásból mondtam magamban, hogy ez oké, de van pár aminek utána kell néznem.
- A hozzászóláshoz be kell jelentkezni
tán még fyi:
http://forums.mysql.com/read.php?22,19755,373154#msg-373154
http://forums.mysql.com/read.php?22,19755,259716#msg-259716
fura a dolog, mindenesetre. A referált mezők ugye _pontosan_ olyan típusúak, mint a referencia mezők? Itt ilyen unsigned meg zerofill különbségek összeakadásáról regélnek. A constraintek nevei meg nyilván adatbázis szinten egyedieknek kéne lenniük. De az asszem másik hibakód.
http://verysimple.com/2006/10/22/mysql-error-number-1005-cant-create-ta…
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Utolsó linken volt a megoldás. A többi táblánál nem figyeltem, hogy innodb motor legyen alatta, az akadt össze. Köszi.
- A hozzászóláshoz be kell jelentkezni