Avatar billede webcreator Nybegynder
01. juli 2003 - 00:44 Der er 18 kommentarer og
1 løsning

Værdi skal være NULL

Hej.

Hvordan får jeg en værdi i min tabel til at være NULL ? Jeg kan ikke bare skrive NULL - desværre :)
Avatar billede webcreator Nybegynder
01. juli 2003 - 00:51 #1
Indsætter vha. $insertSQL = "insert into users osv osv
Avatar billede abpdk Nybegynder
01. juli 2003 - 00:53 #2
Er du sikker på at tabellen ikke er lavet med 'NOT NULL'?
Avatar billede detox Nybegynder
01. juli 2003 - 00:56 #3
Du kan sætte Nulværdi = null. Så vil den være NULL, hvis du ikke indsætter noget.
Avatar billede webcreator Nybegynder
01. juli 2003 - 00:56 #4
Nogen af felterne er - men dem jeg vil have til at være NULL, er det som standard. Men hvis jeg vælger ikke at indsætte noget i feltet, så er det bare tomt.
Avatar billede detox Nybegynder
01. juli 2003 - 00:59 #5
Så sæt Standardværdi = NULL
Avatar billede webcreator Nybegynder
01. juli 2003 - 01:00 #6
Det er jo standard-værdien. Hvordan får jeg denne frem ? Ved IKKE at udfylde feltet ?
Avatar billede abpdk Nybegynder
01. juli 2003 - 01:01 #7
Hmm, følgende virker ellers fint her!?
mysql_query("insert into null_test values(NULL)");

Hvilken datatype er der tale om?
Avatar billede webcreator Nybegynder
01. juli 2003 - 01:03 #8
Et felt ser sådan ud :
  user_newpasswd varchar(32) default NULL,

Jeg kan fylde data i det. Men hvis jeg ikke fylder noget i, så er feltet bare tomt - og ikke NULL
Avatar billede detox Nybegynder
01. juli 2003 - 01:07 #9
Jeg mener ikke varchar kan være NULL. Prøv med fx text.
Avatar billede abpdk Nybegynder
01. juli 2003 - 01:07 #10
Er det så ikke fordi du indsætter med:

insert ..... values("")??

...for hvis jeg opretter en tabel med samme datatype og indsætter med

insert ..... values()

så bliver værdien NULL.
Avatar billede webcreator Nybegynder
01. juli 2003 - 01:09 #11
Jeg indsætte sådan :

$insertSQL = "insert into users (felt1, felt2)
                        VALUES ('værdi', 'værdi')";

Jeg har også et felt3 - denne har jeg udeladt, og jeg ville derfor mene, at værdien ville blive NULL - korrekt ?
Avatar billede abpdk Nybegynder
01. juli 2003 - 01:15 #12
Jo og det bliver den også her!?
Avatar billede detox Nybegynder
01. juli 2003 - 01:18 #13
hmm, det var pudsigt. Jeg kan slet ikke oprette et varchar felt med NULL som standardværdi.
Avatar billede detox Nybegynder
01. juli 2003 - 01:19 #14
Jo, undskyld. Jeg får samme resultat som abpdk
Avatar billede webcreator Nybegynder
01. juli 2003 - 01:25 #15
Mærkeligt. Nu virker det også pludselig. Beklager da meget :-)

Jeg sætter lige 5 points mere på spil :-)
Burde now() ikke udskrive tiden i unix-time ?

Bemærk, at feltet er Integer ! Og det kan ikke laves om. Så jeg kan vel ikke bruger now her ? Alternativer ?
Avatar billede abpdk Nybegynder
01. juli 2003 - 01:33 #16
Jeg mener ikke at php har en funktion der hedder now(), hvis det var det du mente (mysql har dog). Hvis du vil ha' et unix timestamp i php så prøv funktionen time().
Avatar billede abpdk Nybegynder
01. juli 2003 - 01:35 #17
Faktisk er det måske smartere at bruge mysql:

UNIX_TIMESTAMP(NOW()) (i mysql).
Avatar billede abpdk Nybegynder
01. juli 2003 - 01:35 #18
sidste parantés skal naturligvis ikke med :)
Avatar billede webcreator Nybegynder
01. juli 2003 - 01:45 #19
Takker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester