Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [MySQL] chiave esterna

  1. #1

    [MySQL] chiave esterna

    Ho un problema con la chiave esterna definita all'interno di questa tabella.

    codice:
    CREATE TABLE newofferte(
    IdOfferta INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
    TitoloOfferta VARCHAR( 150 ) NOT NULL ,
    DescrOfferta TEXT NOT NULL ,
    Prezzo VARCHAR( 200 ) ,
    PeriodoInizio VARCHAR( 50 ) ,
    PeriodoFine VARCHAR( 50 ) ,
    Url VARCHAR( 500 ) ,
    Struttura INT( 5 ) REFERENCES strutture( IdStruttura ) ,
    PRIMARY KEY ( IdOfferta )
    ) ENGINE = innodb
    In particolare accetta qualunque valore sul campo "Struttura", anche se non esiste un corrisposto sulla tabella "strutture" (anch'essa di tipo InnoDB).

    La tabella "strutture" è cosi definita:

    codice:
     CREATE TABLE strutture(
    IdStruttura INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
    NomeStruttura VARCHAR( 150 ) NOT NULL ,
    DescrStruttura TEXT NOT NULL ,
    PRIMARY KEY ( IdStruttura )
    ) ENGINE = innodb
    P.S: Sto facendo le prove su XAMPP per Windows. Teoricamente il supporto a Innodb è abilitato visto che ha accettato la creazione delle tabelle.

  2. #2
    controlla la sintassi che utilizzi.

    http://dev.mysql.com/doc/refman/5.0/...nstraints.html

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Grazie, ma non ne vengo fuori

  4. #4
    Originariamente inviato da devil89
    Grazie, ma non ne vengo fuori
    il tipo di campo deve essere lo stesso.

    Struttura INT( 5 ) UNSIGNED <----> IdStruttura INT( 5 ) UNSIGNED

    codice:
    CREATE TABLE newofferte(
    IdOfferta INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
    TitoloOfferta VARCHAR( 150 ) NOT NULL ,
    DescrOfferta TEXT NOT NULL ,
    Prezzo VARCHAR( 200 ) ,
    PeriodoInizio VARCHAR( 50 ) ,
    PeriodoFine VARCHAR( 50 ) ,
    Url VARCHAR( 500 ) ,
    Struttura INT(5) UNSIGNED,
    PRIMARY KEY ( IdOfferta ),
    FOREIGN KEY (Struttura) REFERENCES strutture (IdStruttura)
    ) ENGINE = innodb


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Oh caspita, avevo anche provato ad aggiungere il tipo unsigned, ma non avevo usato il foreign key. Bhè, grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.