Salve a tutti,
il mio programma memorizza i campi data vuoti come '0000-00-00'. Dopo gli aggiornamenti software ho iniziato ad avere il seguente errore MySql: Incorrect date value for ... quando tenta di salvare il valore '0000-00-00'.
Come posso risolvere il problema?
Grazie!
Mysql salvare campo data vuoto.
Moderatori: MassimoB,
Paolino,
fairyvilje
14 messaggi
• Pagina 1 di 2 • 1, 2
1
voti
Nella gestione di un database, è considerato obbligatorio l'utilizzo di un valore NULL univocamente definito (SQL ne definisce uno, per la cronaca) e non legato ad alcun dominio per identificare i campi vuoti; è invece fortemente scoraggiato (anzi, per simmetria direi vietato) l'utilizzo di un valore del dominio come identificativo per i campi vuoti.
Rispondo solo a chi si esprime correttamente in italiano e rispetta il regolamento.
Se non conosci un argomento, non parlarne.
Gli unici fatti sono quelli dimostrabili, il resto è opinione.
Non sono omofobo, sessista, leghista o analoghe merdate.
Se non conosci un argomento, non parlarne.
Gli unici fatti sono quelli dimostrabili, il resto è opinione.
Non sono omofobo, sessista, leghista o analoghe merdate.
0
voti
La tabella è questa:
CREATE TABLE `persona` (
`idpers` int(11) NOT NULL,
`lastname` varchar(200) NOT NULL,
`firstname` varchar(200) DEFAULT NULL,
`borndate` date DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
L' utente può scegliere se o non inserire la data di nascita.
Tutti i campi data vuoti, anche in altre tabelle sono stati sempre salvati come '0000-00-00'.
CREATE TABLE `persona` (
`idpers` int(11) NOT NULL,
`lastname` varchar(200) NOT NULL,
`firstname` varchar(200) DEFAULT NULL,
`borndate` date DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
L' utente può scegliere se o non inserire la data di nascita.
Tutti i campi data vuoti, anche in altre tabelle sono stati sempre salvati come '0000-00-00'.
0
voti
Significherebbe utilizzare utilizzare due differenti query a seconda del caso data inserita oppure no. Comunque avrei lo stesso il problema nella query di update dove dovrà necessariamente essere presente il campo borndate.
0
voti
Daniele78 ha scritto:Il problema è che le query vengono gestite con PDO per cui devo necessariamente passare una stringa.
Se PDO (che non conosco, ma essendo un'estensione per PHP - sull'infima qualità del quale quale personaggi ben più qualificati di me si sono abbondantemente espressi - temo il peggio) ti richiede per forza una stringa, PDO viola una delle regole di base che si insegnano fin dal primo contatto con un database a tutti gli studenti di materie informatiche; segue che PDO risulta pertanto inutilizzabile e va, se possibile, abolito.
Daniele78 ha scritto:Significherebbe utilizzare utilizzare due differenti query a seconda del caso data inserita oppure no. Comunque avrei lo stesso il problema nella query di update dove dovrà necessariamente essere presente il campo borndate.
Dovresti scrivere due query (cosa che mi suona un po' strana, comunque)? Allora mi sa che ti conviene iniziare

Rispondo solo a chi si esprime correttamente in italiano e rispetta il regolamento.
Se non conosci un argomento, non parlarne.
Gli unici fatti sono quelli dimostrabili, il resto è opinione.
Non sono omofobo, sessista, leghista o analoghe merdate.
Se non conosci un argomento, non parlarne.
Gli unici fatti sono quelli dimostrabili, il resto è opinione.
Non sono omofobo, sessista, leghista o analoghe merdate.
14 messaggi
• Pagina 1 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 11 ospiti