Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Foreign key senza primary key ..........

    Ciao.
    Mi è sorto un dubbione in una tabella
    posso usare una foreign key senza attribuire
    alla stessa tabella una primary key.
    Secondo me si, ma avrei piacere di conoscere
    la vs opinione.




    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2

    ........

    Uppete
    Il dubbione persiste ....................
    Spiegamo la cosa ho una tabella TEST
    (con primary key test_id) dove ho
    una serie di domande.
    Nella tabella test_results ho come
    foreign key test_id.
    In questo modo:
    Codice PHP:
    CREATE TABLE IF NOT EXISTS `test` (
        `
    test_idsmallint(5unsigned NOT NULL auto_increment,
        `
    test_titlevarchar(255NOT NULL default '0',
        `
    test_question1varchar(255NOT NULL default '0',
        `
    test_question2varchar(255NOT NULL default '0',
        -- 
    etc ...........
        
    PRIMARY KEY  (`test_id`)
    ENGINE=MyISAM;
    CREATE TABLE IF NOT EXISTS `test_results` (
        `
    test_idsmallint(5unsigned NOT NULL,
        -- 
    in test_result metto i risultati in questa forma
        
    --  a,c,d,aetc 
        
    `test_resultvarchar(255NOT NULL default '0',
         
    FOREIGN KEY ( `test_id` ) REFERENCES test( `test_id` ) ON DELETE CASCADE
    ENGINE=MyISAM
    Può andare ?


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Ma c'è un motivo per non mettere la PK?

    Una PK qualsiasi sia la tabella ci dovrebbe sempre essere a garantire l'integrità dei dati.

  4. #4

    ........

    Ciao e grazie della reply.
    Ma c'è un motivo per non mettere la PK?
    Hai ragione anche te il solo motivo era (adesso ne metterò una )
    che non pensavo potesse ritornarmi utile a livello di query.
    Adesso che ci penso potrebbe essere la stessa test_id visto
    che la relazione è 1/1.
    Cosa ne pensi ?




    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    A tutti gli effetti test_results sembra una tabella sottoinsieme di test quindi test_id ne è contemporaneamente una FK e PK.

  6. #6
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Attento perchè il tipo di tabella "MyISAM" non supporta le FOREIGN KEYS.

    Infatti ho scoperto che la mia versione di MySQL 5 non ha le InnoDB.

  7. #7

    .........

    Attento perchè il tipo di tabella "MyISAM" non supporta le FOREIGN KEYS.
    Grazie per la precisazione.
    Ero già al corrente della cosa ma pur non applicando l'integrità
    referenziale con tabelle di tipo MyISAM ottengo un INDEX
    per la foreign key.
    (Uso questa sintassi al fine di una migliore lettura del codice).



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.