所以我创建了这个表:
CREATE TABLE Hospital_MedicalRecord(
recNo CHAR(5),
patient CHAR(9),
doctor CHAR(9),
enteredOn DATE NOT NULL,
diagnosis VARCHAR(50) NOT NULL,
treatment VARCHAR(50),
PRIMARY KEY (recNo, patient),
FOREIGN KEY (patient) REFERENCES Hospital_Patient(NINumber),
FOREIGN KEY (doctor) REFERENCES Hospital_Doctor(NINumber)
);
我正在尝试放置表格,以便
enteredOn
列记录输入医疗记录的日期和时间,并且我想将默认值设置为当前日期和时间。我知道我应该使用current_timestamp,但是我不知道如何制作,我尝试过的一切都会给我带来错误。 最佳答案
只是:
enteredOn DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
注意:要使此方法起作用,必须将您的列声明为
DATETIME
或TIMESTAMP
(而不是DATE
)。如果确实需要
DATE
,则需要一个触发器:CREATE TRIGGER Trg_Hospital_MedicalRecord_EnteredOn
BEFORE INSERT ON Hospital_MedicalRecord
FOR EACH ROW
SET NEW.enteredOn= CURRENT_DATE();