Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [MySQL] 5.0.45-community-nt e valori predefiniti

    Ciao a tutti come da titolo ho mysql 5.0.45-community-nt ecco il problema (cosa che non ho con le versioni precedenti)

    Allora ho una semprilice tabella

    Id - int(11) auto_increment
    countrycode char(3)
    namecity_it varchar(255)

    se faccio
    INSERT INTO sab_city_country2(countrycode) VALUES('it') "

    mi esce errore
    se faccio
    INSERT INTO sab_city_country2(countrycode,namecity_it) VALUES('it','') "
    funziona ...

    il problema è che io voglio inserire solamente i campi che mi fanno comodo ... come posso fare per evitare che questo mi dia errore senza impostare dei valori predefini...
    INSERT INTO sab_city_country2(countrycode) VALUES('it') "

    :master:

  2. #2
    nessuna idea?
    o forse il problema non è chiaro?
    :master:

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da slay
    nessuna idea?
    o forse il problema non è chiaro?
    :master:

    Porta un minimo di pazienza. Cosa ti aspetti di sabato sera?

    Invece di scrivere mi "esce errore" sarebbe utile conoscere l'esatto messaggio restituito e anche l'output di

    show create table sab_city_country2

  4. #4
    Ciao e grazie per la risp..
    avevo fatto un "up" perchè avevo visto circa 15 visite al 3d ..e pensavo magari che il problema non fosse esposto bene...

    ecco il risultato di show create table

    CREATE TABLE `sab_city_country2` (
    \n `id` int(11) NOT NULL auto_increment,
    \n `countrycode` char(3) NOT NULL,
    \n `namecity_it` varchar(255) NOT NULL,
    \n PRIMARY KEY (`id`)
    \n) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=latin1

    Lo so che dovrei postare l'errore (e nonostante io abbia tolto il flag dal mio browser da mostra messaggi di errori HTTP brevi) ma mi viene mostrato solo errore 500 .. (forse il mio manteiner deve impostare qualche opzione nel vps) cmq questa è la mia pagina ..www [punto]hotelgoo[punto]com/percorso.asp

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ok. Posta anche l'output di

    select @@sql_mode

  6. #6
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Se hai impostato che un campo sia "not null" (ad esempio namecity_it) e non hai nello stesso tempo impostato quale sia il suo eventuale valore di default vuol dire che il database si aspetta che tu lo indichi esplicitamente ogni volta (altrimenti come farebbe lui a sapere quale valore inserire se tu "non vuoi che sia nullo", "non gli dici quale valore mettere di default" ... ma nemmeno lo inserisci nella tua istruzione di insert...?)

    O togli quel "not null" dal campo (abilitando quindi il fatto che il campo possa contenere valori NULL) oppure (meglio) indichi un default value per i campi che ti interessano così quando tu non li indicherai nella tua istruzione il database saprà comunque cosa metterci dentro

    Qualcosa del tipo

    countrycode char(3) NOT NULL default '',
    namecity_it varchar(255) NOT NULL default ''

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da comas17
    Se hai impostato che un campo sia "not null" (ad esempio namecity_it) e non hai nello stesso tempo impostato quale sia il suo eventuale valore di default vuol dire che il database si aspetta che tu lo indichi esplicitamente ogni volta (altrimenti come farebbe lui a sapere quale valore inserire se tu "non vuoi che sia nullo", "non gli dici quale valore mettere di default" ... ma nemmeno lo inserisci nella tua istruzione di insert...?)

    O togli quel "not null" dal campo (abilitando quindi il fatto che il campo possa contenere valori NULL) oppure (meglio) indichi un default value per i campi che ti interessano così quando tu non li indicherai nella tua istruzione il database saprà comunque cosa metterci dentro

    Qualcosa del tipo

    countrycode char(3) NOT NULL default '',
    namecity_it varchar(255) NOT NULL default ''
    Parole sante come sempre.
    Ero giusto curioso di sapere come fosse settato l'sql mode. Se non ti consente l'inserimento restituendoti un errore anzichè un warning immagino che sia impostato in strict mode.

  8. #8
    ciao esatto... c'è lo strict mode attivo ... ho visto che c'è questa opzione dalla versione 5 in poi in locale uso il 4 ecco perchè funzionava tutto senza problemi .. ora vorrei disattivare lo strict mode ho fatto così:

    SET @@global.sql_mode= ''

    ma mi dice che ci vogliono dei permessi particolari .. è giusto il comando sopra .. oppure sbaglio qualcosa? (in caso sento il mio manteiner..)

    grazie per l'attenzione ...

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Per modificare l'sql mode a livello globale occorre il privilegio super, che tu ovviamente non hai.

    Puoi settarlo a livello di sessione

    set @@session.sql_mode= ''

    ma la scelta più saggia è quella di cambiare la struttura della tabella come ti ha consigliato comas17.

  10. #10
    Originariamente inviato da nicola75ss
    Per modificare l'sql mode a livello globale occorre il privilegio super, che tu ovviamente non hai.

    Puoi settarlo a livello di sessione

    set @@session.sql_mode= ''

    ma la scelta più saggia è quella di cambiare la struttura della tabella come ti ha consigliato comas17.
    ehh.. dovrei cambiare si la struttura della tabella il problema è che ho + di 10 tabelle .. dovrei rivedere completamente l'intero sito ..

    ma la differenza tra session e global dove sta? .. a me interessa solo che i miei database abbiano lo strict mode off quindi posso utilizzare tranquillamente set @@session.sql_mode= ''
    giusto?

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.