08. november 2002 - 15:44Der er
13 kommentarer og 1 løsning
Kan ikke indsætte tabel
Hej eksperter Er der mon nogen, der kan fortælle mig, hvorfor jeg ikke kan create denne tabel?
mysql_query("CREATE TABLE forespørgsel ( fspid INT NOT NULL AUTO_INCREMENT, dato DATE NOT NULL, kontaktperson VARCHAR (50) NOT NULL, type TEXT NOT NULL, statusid INT NOT NULL, kundeid INT NOT NULL, PRIMARY KEY (fspid), FOREIGN KEY (kundeid) REFERENCES kunde (kundeid) ON DELETE SET NULL, INDEX forespørgsel_kundeid (kundeid), FOREIGN KEY (statusid) REFERENCES status (statusid) ON DELETE SET NULL, INDEX forespørgsel_statusid (statusid) TYPE = INNODB");
Det skal nævnes, at der i scriptet er andre tabeller og disse bliver createt. De andre tabeller har dog kun en fremmednøgle - kan det have noget at sige?
Jo se lige her: "Starting from version 3.23.43b InnoDB features foreign key constraints. InnoDB is the first MySQL table type which allows you to define foreign key constraints to guard the integrity of your data." Det kommer herfra: http://www.mysql.com/doc/en/SEC447.html
mjl>> Tak for det, men jeg kender den allerede - har brugt den en del. Jeg tænkte mere på, hvad det helt bogstaveligt står for - for det står der da ikke vel? Eller er det bare mig, der er ved at have gloet mig blind?
CREATE TABLE forespørgsel ( fspid INT NOT NULL AUTO_INCREMENT, dato DATE NOT NULL, kontaktperson VARCHAR (50) NOT NULL, type TEXT NOT NULL, statusid INT NOT NULL REFERENCES status (statusid), kundeid INT NOT NULL REFERENCES kunde (kundeid), PRIMARY KEY (fspid), INDEX forespørgsel_kundeid (kundeid), INDEX forespørgsel_statusid (statusid) ) TYPE = INNODB"
flse>> Tak for det - det virker. Jeg kan bare ikke forstå hvorfor mit ikke virker. De andre tabeller har jeg lavet som denne her: FOREIGN KEY (statusid) REFERENCES status (statusid). Men hvad nu med mine ON DELETE CASCADE og ON DELETE SET NULL? Dem skal jeg bruge!
CREATE TABLE forespørgsel ( fspid INT NOT NULL AUTO_INCREMENT, dato DATE NOT NULL, kontaktperson VARCHAR (50) NOT NULL, type TEXT NOT NULL, statusid INT NOT NULL REFERENCES status (statusid) ON DELETE SET NULL, kundeid INT NOT NULL REFERENCES kunde (kundeid) ON DELETE SET NULL, PRIMARY KEY (fspid), INDEX forespørgsel_kundeid (kundeid), INDEX forespørgsel_statusid (statusid) ) TYPE = INNODB"
flse>> Tak for det, det virker nu :-) Nu har jeg imidlertid problemer med foreign keys, når jeg indsætter i tabellen. Jeg opretter et nyt spørgsmål vedr. dette. Kan du ikke lige smide et svar, så du kan få point?
Jow jow ... går nu ikke zå højt op i point .. har ikke fundet noget sted jeg kan betale med dem :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.