我已经创建了使用mysql名称人有6个属性ID,名称,姓氏,DOB(存储在日期数据类型),性别,城市,我希望在dob(出生日期)输入的值大于18.如何设置此约束请帮助如何添加检查约束MySQL的年龄计算从出生日期字段,并验证该年龄大于18
0
A
回答
0
MySQL不支持检查约束。所以,在MySQL中执行此操作的唯一方法是创建触发器或将插入器包装到存储过程中。
,你会使用特定的逻辑是:
dob <= curdate() - interval 18 year
所以,在几乎任何其他数据库,这看起来是这样的:
alter table t add constraint chk_t_dob check (dob <= curdate() - interval '18' year);
(注:最新的操作数据库的不同而不同。 )
+0
...或者只是使用查询 – Strawberry
0
考虑下面的,这个在2017年6月24日...
CREATE TABLE dobs(dob DATE NOT NULL);
INSERT INTO dobs (dob)
SELECT '2012-01-01' x FROM (SELECT 1) a WHERE FLOOR(DATEDIFF(NOW(),'2012-01-01')/365.24) >= 18;
INSERT INTO dobs (dob)
SELECT '1975-01-01' x FROM (SELECT 1) a WHERE FLOOR(DATEDIFF(NOW(),'1975-01-01')/365.24) >= 18;
INSERT INTO dobs (dob)
SELECT '1999-06-25' x FROM (SELECT 1) a WHERE FLOOR(DATEDIFF(NOW(),'1999-06-25')/365.24) >= 18;
INSERT INTO dobs (dob)
SELECT '1999-06-24' x FROM (SELECT 1) a WHERE FLOOR(DATEDIFF(NOW(),'1999-06-24')/365.24) >= 18;
SELECT * FROM dobs;
+------------+
| dob |
+------------+
| 1975-01-01 |
| 1999-06-24 |
+------------+
相关问题
- 1. 验证年龄大于18,从今天的日期算起
- 2. 从powerquery中的日期字段计算年龄和年龄桶
- 3. 从出生日期计算年龄
- 4. 从SAS年龄计算出生日期
- 5. SQL查询从计算出生年龄和日期字段
- 6. 通过出生日期字段在crm 2013年计算年龄
- 7. 查找年龄和出生日期并按年龄分组R
- 8. 根据出生日期计算年龄
- 9. 在java中检查年龄大于或等于18岁的日期验证
- 10. 如何从日期计算年龄
- 11. 按年龄分组按年龄计算从出生日期SQL Server
- 12. 根据出生日期计算出年龄组内的年龄和地点
- 13. 验证出生日期和检查年龄
- 14. 验证年龄字段
- 15. 从出生日期开始sql check约束的年龄
- 16. 年龄约束查找
- 17. 计算从生日xslt的年龄
- 18. 如何从clojure出生日期计算年龄?
- 19. SQLite:如何从出生日期计算年龄
- 20. 基于出生日期的EOFY年龄
- 21. MYSQL:计算年龄从2年开始
- 22. MySQL转换字符串到日期计算年龄和顺序BY年龄
- 23. 从“日期”计算年龄HTML元素
- 24. 从两个日期计算年龄vb.net
- 25. PHP:从年龄开始计算生日
- 26. 使用javascript计算特定年龄段的出生日期
- 27. 计算年龄
- 28. 计算年龄
- 29. 年龄计算
- 30. 从出生日期(使用日历)计算年龄IN Jsf
你有什么试过,它是如何失败? –