我有一個叫做樣本的表,看起來像這樣
Column Type Comment
id int(11) Auto Increment
nvname text
sample text
client text
project text
model text NULL
pathology text NULL
treatment text NULL
location text NULL
notes text NULL
我需要在最后添加一列日期,自動添加插入日期可以嗎?如果不是,我應該在插入時使用觸發器復制到另一個包含該資訊的表嗎?
uj5u.com熱心網友回復:
您可以添加具有以下DEFAULT值的列NOW():
ALTER TABLE samples
ADD COLUMN insertion_date DATETIME
DEFAULT NOW();
uj5u.com熱心網友回復:
這是DEFAULT CURRENT_TIMESTAMP的作業。將此列定義或類似的定義添加到您的表定義中。
insert_timestamp TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
如果您想知道該行最近更新的時間,也可以添加此列定義。
update_timestamp TIMESTAMP NULL ON UPDATE CURRENT_TIMESTAMP
然后,如果您在執行 INSERT 或 UPDATE 時沒有提及列的名稱,它會被自動、穩健且比觸發器更有效地處理。
很可愛的功能吧?
uj5u.com熱心網友回復:
您也可以以下DEFAULT (CURRENT_DATE)一種方式使用:
CREATE TABLE test(
id int primary key auto_increment,
name varchar(64),
created_at date NOT NULL DEFAULT (CURRENT_DATE)
);
INSERT INTO test (name) VALUES ('Test name');
SQL在線小提琴
結果:
==== =========== ============
| id | name | created_at |
==== =========== ============
| 1 | Test name | 2022-01-03 |
---- ----------- ------------
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/403174.html
標籤:
