Avatar billede aske2 Nybegynder
08. november 2002 - 15:44 Der 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?
Avatar billede mjl Nybegynder
08. november 2002 - 16:42 #1
Er det alt sammen noget, der kan laves i MySQL?
Avatar billede mjl Nybegynder
08. november 2002 - 16:44 #2
Tror ikke du kan bruge FOREIGN KEY i MySQL...
Avatar billede aske2 Nybegynder
08. november 2002 - 16:47 #3
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
Avatar billede mjl Nybegynder
08. november 2002 - 16:55 #4
Okayser....så slår jeg lige bak igen..!!! :o)
Avatar billede mjl Nybegynder
08. november 2002 - 16:58 #5
Håber der er andre, der lige kan hjælpe dig!!!
Avatar billede aske2 Nybegynder
08. november 2002 - 17:01 #6
mjl>>
Ja det håber jeg også - jeg kan ikke komme videre før jeg er helt sikker på, at databasen er helt i orden.
Avatar billede mjl Nybegynder
08. november 2002 - 17:02 #7
Avatar billede aske2 Nybegynder
08. november 2002 - 17:07 #8
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?
Avatar billede flse Nybegynder
08. november 2002 - 17:18 #9
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"
Avatar billede aske2 Nybegynder
08. november 2002 - 18:02 #10
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!
Avatar billede aske2 Nybegynder
08. november 2002 - 19:19 #11
Jeg logger af for i aften og vender tilbage i morgen.
Avatar billede flse Nybegynder
09. november 2002 - 07:38 #12
prøv med:

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"
Avatar billede aske2 Nybegynder
09. november 2002 - 14:25 #13
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?
Avatar billede flse Nybegynder
10. november 2002 - 14:34 #14
Jow jow ... går nu ikke zå højt op i point .. har ikke fundet noget sted jeg kan betale med dem :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester