如何检查修改定义

时间:2017-02-08 01:19:16

标签: mysql sql

CREATE TABLE Hotel
(roomNum INTEGER NOT NULL,
arrD DATE NOT NULL,
depD DATE NOT NULL,
guestName CHAR(30) NOT NULL,
PRIMARY KEY (roomNum, arrDate));

如何修改定义以进行检查,以便在之前分配的出发日期之前没有预订任何房间。

1 个答案:

答案 0 :(得分:0)

您可以使用INSERT条款执行NOT EXISTS来检查日期的有效性:

INSERT INTO Hotel (roomNum, arrD, depD, guestName)
SELECT 1, '2017-02-08', '2017-02-11', 'Tim Biegeleisen'
FROM dual
WHERE NOT EXISTS (SELECT * FROM Hotel WHERE roomNum = 1 AND depD > '2017-02-08')

我不认为修改表格定义可以强制执行你的逻辑。

相关问题