所以我创建了这个表:

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


注意:要使此方法起作用,必须将您的列声明为DATETIMETIMESTAMP(而不是DATE)。

如果确实需要DATE,则需要一个触发器:

CREATE TRIGGER Trg_Hospital_MedicalRecord_EnteredOn
BEFORE INSERT ON Hospital_MedicalRecord
FOR EACH ROW
SET NEW.enteredOn= CURRENT_DATE();

10-02 05:42