Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390

    [MySQL]problema di inserimento chiave esterna

    Salve a tutti. Ho problemi per l'inserimento delle chiavi esterne all'interno del mio schema.
    andando ad eseguire questo statement

    codice:
    ALTER TABLE fatture_ingresso
    ADD CONSTRAINT FOREIGN KEY (Fornitore)
    REFERENCES fornitori(NomeFornitore) ON DELETE SET NULL;
    il query dbms mi restituisce questo messaggio d'errore


    codice:
    Can't create table 'fornitori.#sql-e8_9' (errno: 150)

    Qualcuno saprebbe darmi una spiegazione ed anche una soluzione?? io davvero non so più che prove fare!
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

  2. #2
    per caso la colonna fornitori(NomeFornitore) e' NOT NULL ??? Se si, ovvio non ti accetti il NULL.

    Sicuramente le tabelle sono InnoDB. Banale, ma meglio chiederlo.

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390
    errore mio....la colonna era Not Null e non me ne ero accorto (ho convertito il DB da access a mysql).
    ora, sistemando il vincolo, ottengo questo messaggio dal dbms quando vado ad eseguire l'operazione


    codice:
    Cannot add or update a child row: a foreign key constraint fails (`fornitori`.`#sql-66c_3`, CONSTRAINT `#sql-66c_3_ibfk_1` FOREIGN KEY (`Fornitore`) REFERENCES `fornitori` (`NomeFornitore`) ON DELETE SET NULL)
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    390
    ora l'ha fatto....mah :master:
    Date a Cesare quel che è di Cesare,
    tutto il resto a me!!

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.