Avatar billede cykel123 Nybegynder
05. marts 2003 - 09:44 Der er 9 kommentarer

NOW() i sql

Jeg er ved at definere en tabel, som skal have default værdi på dato. Dvs tiden skal være aktuel tid ved ny record i tabellen

Jeg har forsøgt med NOW(), men den fejler. Kan du hjælpe


dato_x datetime NOT NULL default 'NOW()',
..
..
Avatar billede -mundi- Nybegynder
05. marts 2003 - 09:45 #1
gettime()
Avatar billede -mundi- Nybegynder
05. marts 2003 - 09:50 #2
Hov hvilken database bruger du ? Jeg troede det var en MsSQL men da du har postet i PHP er det sikkert en mySQL db .. Så bare ignorer min gettime
Avatar billede hsg Nybegynder
05. marts 2003 - 10:17 #3
Hvordan ser hele din create table ud ?
Avatar billede xyborx Nybegynder
05. marts 2003 - 10:24 #4
Vidste ikke at man kunne lave kommando-kald i default'en på den måde.. Er du sikker på at man kan det?

Ellers ville jeg bruge timestamp(14) i stedet for datetime. timestamp får automatisk nuværende tid, medmindre andet angives (se evt http://www.mysql.com/doc/en/DATETIME.html). Dvs:
dato_x timestamp(14) NOT NULL;
Avatar billede hsg Nybegynder
05. marts 2003 - 10:26 #5
xyborx>
create table t1 (dato datetime not null default 'now()')
virkede perfekt. Men timestamp er en bedre løsning
Avatar billede xyborx Nybegynder
05. marts 2003 - 10:26 #6
Nope, man kan ikke lave kommando-kald i default'en:
http://www.mysql.com/doc/en/CREATE_TABLE.html
"DEFAULT value has to be a constant, it cannot be a function or an expression... This means, for example, that you cannot set the default for a date column to be the value of a function such as NOW() or CURRENT_DATE."
Avatar billede xyborx Nybegynder
05. marts 2003 - 10:31 #7
Jeg kan godt forestille mig at selve "create table t1 (dato datetime not null default 'now()')" ikke fejler, men det vil resultere i at MySQL forsøger at sætte dato's værdi til teksten 'NOW()', hvilket fejler fordi feltet er en dato-type. Resultatet er at værdien bliver en masse 0'er (noget i retning af '0000-00-00 00-00-00')
Avatar billede hsg Nybegynder
05. marts 2003 - 10:31 #8
*rødme* ja selvfølgelig
Avatar billede xyborx Nybegynder
05. marts 2003 - 10:43 #9
hehe.. Vi har vist allesammen oplevet at lave uheldige fejl.. :o)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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