[RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

di il
7 risposte

[RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

Buongiorno a tutti gli utenti del forum,
stavo provando ad aggiungere ad un database un campo di tipo date, ma purtroppo non riesco ad eseguire un'operazione all'apparenza semplice
perchè ricevo questo errore:



In passato mi è più volte capitato di dover effettuare degli "ALTER TABLE" ma mai avevo ricevuto un messaggio simile, cortesemente mi dareste una mano ?

Grazie

7 Risposte

  • Re: [RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

    Credo che la lettura del manuale possa aiutare :
    MySQL does not accept TIMESTAMP values that include a zero in the day or month column or values that are not a valid date. The sole exception to this rule is the special “zero” value '0000-00-00 00:00:00', if the SQL mode permits this value. The precise behavior depends on which if any of strict SQL mode and the NO_ZERO_DATE SQL mode are enabled; see Section 5.1.11, “Server SQL Modes”.
  • Re: [RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

    alter table lamiabellatabella add column lamiabelladata DATE;
  • Re: [RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

    +m2+ ha scritto:


    alter table lamiabellatabella add column lamiabelladata DATE;
    buongiorno +m2+,
    sono la tua croce vero ?

    Niente da fare, avevo già provato ma ottengo questo errore
    Errore

    Query SQL:

    alter table miatabella add column miacolonna DATE

    Messaggio di MySQL: Documentazione
    #1292 - Incorrect date value: '0000-00-00' for column 'data' at row 522
    Effettivamente googlando ero arrivato anche io al link che nel precedente intervento l'utente max.riservo aveva fatto presente sottolineando implicitamente la mia carenza e le mie pecche (ma a dirla tutta non posso dargli torto), purtroppo ho provato a cercare di applicare (o meglio interpretare) quanto indicato, ma non riesco a venirne fuori
    MySQL does not accept TIMESTAMP values that include a zero in the day or month column or values that are not a valid date. The sole exception to this rule is the special “zero” value '0000-00-00 00:00:00', if the SQL mode permits this value. The precise behavior depends on which if any of strict SQL mode and the NO_ZERO_DATE SQL mode are enabled; see Section 5.1.11, “Server SQL Modes”.
  • Re: [RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

    Posto la soluzione nella speranza che possa servire a qualche altro utente:


    Il problema potrebbe essere dovuto al fatto che nel vostro Server MySQL è abilitata la modalità strict mode.
    Per risolvere questo problema è necessario disabilitare questa funzionalità.

    Se come me usate phpMyAdmin:
    1) Effettuare l'accesso;
    2) Dal menù in alto, selezionare la voce 'Variabili';
    3) Nella barra di ricerca cercare: sql_mode;
    4) Cliccare sul pulsante modifica; (L'opzione apparirà avvicinando il puntatore alla riga)
    5) Svuota il campo e compilare come segue: "NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" (senza le virgolette);
    6) Cliccare sul pulsante Salva.

    Se utilizzate altro software dove è possibile inviare query: (attenzione non testata personalmente)
    Inviate la seguente query:
    SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    Per verificare il cambio avvenuto inviare la seguente query: "SELECT @@sql_mode statement".

    PS: Non dimenticare di riavviare MySQL!

  • Re: [RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

    In realtà... no, ma va bene lo stesso!
  • Re: [RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

    +m2+ ha scritto:


    In realtà... no, ma va bene lo stesso!
    scusami +m2+, se la mia soluzione non è valida sarebbe corretto nei confronti degli utenti postare ed evidenziare le inesattezze, questo perchè qualche utente riponendo fiduncia nel post potrebbe essere indotto a commettere qualche errore.

    Io dal canto mio posso solo affermare che grazie a questa modifica sono riusciuto ad inserire nel database un nuovo campo di tipo DATE
    alter table lamiabellatabella add column lamiabelladata DATE;
  • Re: [RISOLTO]Errore #1292 inserimento nuovo campo tipo date in database

    Niente spiegoni, li lascio fare ai più esperti.
    suggerimento: si parte dalla versione 5.7.qualcosa e non è lo strict mode, non c'entra nulla.
    sono i modi sql
Devi accedere o registrarti per scrivere nel forum
7 risposte