webForumDet fria alternativet

getdate()

Databaser & SQL

12 svar · 269 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Frågan#1

Går det att i mySQL ange ett värde som default värde i ett fält som man automagiskt får inte datumet för när det skapades..?

Som getdate() i SQL Server. :)

Medlem sedan dec. 200012 464 inlägg
#2

Nej, det går inte att sätta ett datum som defaultvärde i Mysql (Jag förstår inte varför). Du får titta på timestamp-kolumner.

http://www.mysql.com/doc/en/DATETIME.html

Medlem sedan maj 200010 687 inlägg
#3

Lägger Timestamp dagens datum när man skapar en ny rad eller när man sparar en ny/befintlig rad?

Medlem sedan juni 20019 024 inlägg
#4

Timestamp uppdateras med dagens datum + tid så fort du slänger in en ny post eller redigerar en befintlig (med andra ord, om du har en redan inlagd post så kommer dess timestamp fält att uppdateras).

Medlem sedan feb. 20012 412 inlägg
#5

Pace skrev:

Timestamp uppdateras med dagens datum + tid så fort du slänger in en ny post eller redigerar en befintlig (med andra ord, om du har en redan inlagd post så kommer dess timestamp fält att uppdateras).

Tänk på att om du har flera timestamps i en tabell, då är det bara den första i listan som uppdateras. :)

Medlem sedan maj 200010 687 inlägg
#6

Hur gör man om man bara vill ha ett datum när posten läggs till?

Medlem sedan juni 200032 967 inlägg
#7

Finns det ingen vanlig datum/tid-datatyp? Använd i så fall den, gör en insert med current_timestamp som värde i det fältet, och ge 17 i att uppdatera det fältet senare. :)

Mvh,

Medlem sedan maj 200010 687 inlägg
#8

Okej, så man sätter det som default value? Det var ju det jag eftersökte i mitt första inlägg. :)

Medlem sedan juni 200032 967 inlägg
#9

Nej, du kan inte sätta det som defaultvärde i MySQL av någon anledning, helt enligt LarsGs inlägg. Du fårr lägga med det i din Insert.

Mvh,

Medlem sedan maj 200010 687 inlägg
#10

Det är ju väldigt opraktiskt. Sånt vill inte jag pilla med där. Jag vill att databasen ska sköta det helt själv... :l

Medlem sedan feb. 20012 412 inlägg
#11

Jag brukar använda fälttypen datetime, och sedan skicka med Now() i sql-frågan. :)

Medlem sedan maj 200010 687 inlägg
#12

Jo, men jag vill ju inte skriva det i någon SQL-fråga utan vill att databasen själv ska ta hand om det. Fältet används nästan bara för att om något skulle gå fel i databasen så är det enkelt att se vad som är skapat efter att felet inträffat.

Medlem sedan juni 20019 024 inlägg
#13

Det är några av de saker som gör MySQL dåligt. ;)

Jag gör som Jörgen, skickar med alla datum med SQL. Det blir till slut en vana och jag tänker numera aldrig på det (tidigare använde jag Jet/Access och Now() som standardvärde).

411 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
282 ms — ändringar (db)