Diciamo che si crea una tabella di database per un sistema di registrazione.
IF OBJECT_ID('dbo.registration_demo', 'U') IS NOT NULL
DROP TABLE dbo.registration_demo;
CREATE TABLE dbo.registration_demo (
id INT IDENTITY PRIMARY KEY,
name NVARCHAR(8)
);
Ora un paio di persone si registrano.
INSERT INTO dbo.registration_demo (name) VALUES
('John'),('Jane'),('Jeff');
Quindi ti rendi conto che hai bisogno di un timestamp per quando si sono registrati.
Se questa applicazione è limitata a un'area geograficamente localizzata, allora è possibile utilizzare l'ora del server locale con GETDATE()
. Altrimenti dovresti prendere in considerazione il numero Tanner's consideration per il pubblico globale con GETUTCDATE()
per il valore predefinito.
Aggiungere la colonna con un valore predefinito in un'istruzione come this answer.
ALTER TABLE dbo.registration_demo
ADD time_registered DATETIME DEFAULT GETUTCDATE();
Otteniamo un altro registrante e vediamo come sono i dati.
INSERT INTO dbo.registration_demo (name) VALUES
('Julia');
SELECT * FROM dbo.registration_demo;
id name time_registered
1 John NULL
2 Jane NULL
3 Jeff NULL
4 Julia 2016-06-21 14:32:57.767
fonte
2016-06-21 14:49:16
@TheQ - Grazie. Capisco che cambio "YourTable" al mio nome di tabella, ma la parte che non capisco è il vincolo. Cos'è un vincolo e dovrei modificare il codice in modo che corrisponda al nome del mio tavolo? – stephmoreland
@steph - La risposta di 'TheQ' presuppone che stai modificando una colonna esistente che non credo sia il caso? Vedere la mia risposta per il codice per aggiungere una nuova colonna con questo vincolo predefinito. –
Affinché una colonna abbia un valore predefinito, ha bisogno di un "vincolo predefinito", e questo comando lo aggiungerà. Puoi nominare il vincolo come preferisci, in genere in Management Studio i nomi DF_TableName. – TheQ