In mijn tabel heb ik in een kolom een aantal keer de waarde 0.0 staan (ivm ontbreken van een waarde) en een aantal keer een positief getal. Omdat ik de laagste waarde van alle waarden uit deze kolom wil filteren zonder dat de 0.0 waarden mee worden gerekend, wil ik deze op NULL zetten. Dus ik verander NOT NULL in NULL en haal de 0.0 uit de rijen weg.
Dit laatste lukt echter niet. Er blijft 0.0 staan en dus krijg ik als laagste waarde weer 0.0. Hoe voorkom ik dit?

UPDATE tabel
SET veld = NULL
WHERE veld = 0.0

Werkt zo'n query ook niet?
Nee, dan krijg ik: getroffen rijen: 0. Oftewel geen enkele rij is gewijzigd...
Ik denk dat het nogal uitmaakt of je bij het creƫren van je tabel bij de velden de voorwaarde NOT NULL hebt gebruikt.
[edit]
Dus eerst:
ALTER TABLE tabelnaam
CHANGE veldnaam_oud veldnaam_nieuw INT( 11 ) NULL DEFAULT NULL
[/edit]
bij NULL gebruik je niet niet = NULL maar met IS NULL
@ Jordy: dat is om op NULL te testen, de TS wil de waarde NULL toekennen en dan gebruik je gewoon = NULL.
Het komt waarschijnlijk doordat het een getal is, waarvan de waarde geen NULL kan zijn, maar gewoon 0 wordt. Ik weet niet of dat zo is, maar het lijkt me mogelijk.
Het werkt om de kolom om te hernoemen met NULL en hem dan weer de oude naam terug te geven ook met NULL en NULL als default. Als ik nu de 0.0 weghaal en NULL aanvink staat er idd NULL. Bedankt!
Jan Koehoorn schreef op 11.07.2007 20:24
@ Jordy: dat is om op NULL te testen, de TS wil de waarde NULL toekennen en dan gebruik je gewoon = NULL.

Sorry :$

[offtopic]
@ ooa Jan Koehoorn
Wanneer gaan we weer taart eten?
[/offtopic]

Reageren