我需要知道如何將CONSTRAINT添加到字段並確保它們是18+字段是年齡。MySQL ADD CONSTRAINT 18+
我可以看到下面的作品,通過加入ID和姓氏進行,將personId,但我怎麼得到它的工作,以確保一個人的生日是18歲或以上
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName);
我知道如何檢查DOB
SELECT DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(dob, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(dob, '00-%m-%d')) AS age FROM `members`
但是我如何將它放入ADD CONSTRAINT中。
這幾乎就像在幾乎任何其他DBMS中添加一個約束'check(age> = 18)'一樣簡單。但是MySQL沒有實現'check'約束,所以你必須通過插入/更新語句或觸發器來執行。 –
如果你存儲的是生日而不是年齡(如你應該那樣,因爲出生日期沒有改變,你會做些什麼,每年更新一次「年齡」專欄或每天更新? –