datetime Default Systemdatum?

AlexD1979

Erfahrenes Mitglied
Hallo,
Eine ganz einfache Frage, wie kann ich meinem SQL Server sagen, dass bei jedem einfügen einer neuen Zeile das Feld ins_datum (welches als datetime definiert ist) mit dem aktuellen Systemdatum gefüllt wird?

Zweite Frage, wie stelle ich den automatischen ID Zähler wieder zurück auf null?
 
Antwort zu Frage 1: Wie fügst Du die Daten in die Tabelle ein? Zufällig via PHP? Dann könntest Du ganz einfach mit der Funktion date() das aktuelle Datum mit dem insert Statement übergeben!
Antwort zu Frage 2: Ich glaube, das ist nicht möglich!

redlama
 
Um welches Datenbank-System handelt es sich denn?

Falls mySQL:
1. Nein, das ist nicht möglich. Du musst die Zeit jedesmal mit NOW() setzen.
2. Ist mir keine Möglichkeit bekannt, außer z.B. Struktur der Tabelle exportieren (ohne Auto-Increment-Wert), Daten exportieren, und dann wieder alles Importieren. Damit sollte dein Auto-Increment-Wert eins höher sein, als deine Maximale ID.
Wenn es egal ist, ob die IDs behalten werden, kannst du auch einfach die ID-Spalte löschen und wieder anlegen. Die IDs werden dann fortlaufend aufgefüllt.
 
Zu meiner zweiten Frage, in MySQL geht das mit
Code:
ALTER TABLE tbl_name AUTO_INCREMENT = 1
In Oracle kann man das bequem mit einem Dialog zurücksetzen.
Aber wie geht das in Microsoft SQL Server 2000? Gibt es da einen Dialog zu?
Ich nutze ColdFusionMX für das Einfügen der Daten in die Datenbank.

Das Datum kann ich natürlich im Insert mit { fn NOW() } einsetzen, aber man kann doch einen Defaultwert definieren in der Datenbank, der automatisch eingesetzt wird, wenn im Statement nichts übergeben wird. Das ist es,was ich suche.
 
Zu 1 (falls Du MySQL nutzt)

Als default Wert ein TIMESTAMP Feld definieren, dass NICHT NULL sein darf. Dann wird bei einem INSERT (Einfach TIMESTAMP hier nicht angeben) immer automatisch die zeit gesetzt. Leider das nicht bei UPDATE.

Zu 2 Mit AlterTable. Diese Frage wurde hier und anderswo schon Zig mal beantwortet. (Macht nur zu Entwicklungszeiten Sinn und Du solltest die Finger davon lassen, wenn die DB scharf ist)

Chris
 
Nochmal, ich nutze KEIN MYSQL, ich arbeite mit einem Microsoft SQL Server 2000.

Ich will ja nur einmal wissen, wie ich den Auto_Inkrement Wert auf 1 zurücksetzen kann, damit die Datenbank produktiv gehen kann?
 
Zurück