Lege datum invoeren in MySQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Christophe Hollebeke

Christophe Hollebeke

14/11/2010 12:55:14
Quote Anchor link
Hoe kan ik een lege datum invoeren in MySQL?

Als ik de gegevens nu invoeg in de database, dan staat er '0000-00-00' in het datumveld, en deze zou leeg moeten zijn zodanig mysql daar zelf 'NULL' plaats.

Heb al geprobeerd met volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
if (!empty($end_date))
{
  $end_date = date('Y-m-d', strtotime($end_date)); // omzetten naar MySQL-datumformaat
}
else
{
  $end_date = '';
}
 
PHP hulp

PHP hulp

28/03/2024 11:51:10
 
- SanThe -

- SanThe -

14/11/2010 13:03:00
Quote Anchor link
Dat zal liggen aan hoe je het sql veld hebt ontworpen tijdens CREATE.
 
Jordi Kroon

Jordi Kroon

14/11/2010 13:07:43
Quote Anchor link
NOW()

?
 
Noppes Homeland

Noppes Homeland

14/11/2010 13:48:21
Quote Anchor link
zo te zien heb je
datum date not null default '0000-00-00'

en dat moet zijn
datum date
 
Christophe Hollebeke

Christophe Hollebeke

14/11/2010 21:47:41
Quote Anchor link
Het probleem is, ik heb een database-formulier ontworpen in OpenOffice-Base.
Deze maakt connectie met de MySQL server en zo kan ik gegevns toevoegen/berwijderen of wijzigen.
Wanneer ik het invoerveld 'end_date' niet invul in het formulier, zet MySQL 'NULL' in het betreffende veld.

Heb nu een webformulier ontworpen, maar als ik daar de input-box niet invul, zet MySQL '0000-00-00'.

Daarom zoek ik een oplossing zodanig MySQL daar ook 'NULL' plaatst.
 
Noppes Homeland

Noppes Homeland

14/11/2010 21:52:38
Quote Anchor link
Het is ook niet

update x set datum = 'NULL'

maar

update x set datum = NULL

Maar dan dien je er wel voor te zorgen dat het veld in de tabel als
datum date

gedefineerd is, zodra je met NOT NULL daar gaat lopen kloten kan je je doel niet bereiken.
 
Christophe Hollebeke

Christophe Hollebeke

14/11/2010 22:34:37
Quote Anchor link
Het betreft de lege string NULL zonder ''.
Deze velden zijn idd ingesteld als 'date'

Heb nu ook dit geprobeerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
if ($end_date == '')
{
  $end_date = is_null();
}
else
{
$end_date = date('Y-m-d', strtotime($end_date)); //omzetten naar MySQL-datumformaat
}

Maar nog altijd 0000-00-00 in MySQL

Uiteraard kan ik ook alle datums omzetten naar 0000-00-00, maar in ooBase lukt het me niet dit in te stellen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.