【发布时间】:2009-10-18 22:53:25
【问题描述】:
我有一个生日、年、月、日列,其中“年、月、日”列是其他表的外键
我想要做的是为每个生日获取 id(year(birthdate)) 为年列的值,而月和日列的值相同。
如何在 MySQL 中做到这一点?
提前致谢
【问题讨论】:
-
将日期分成 3 列的用例是什么?
我有一个生日、年、月、日列,其中“年、月、日”列是其他表的外键
我想要做的是为每个生日获取 id(year(birthdate)) 为年列的值,而月和日列的值相同。
如何在 MySQL 中做到这一点?
提前致谢
【问题讨论】:
检查触发器 (http://dev.mysql.com/doc/refman/5.0/en/triggers.html),以便每次写入数据时计算并更新所需信息。
【讨论】:
Update mytable
set birthdate = Yearfield + monthfield + dayfield
编辑
如果birthdate 是一个日期字段,您必须先转换或转换它。
Update mytable
set birthdate = Cast(Yearfield + monthfield + dayfield as date)
【讨论】:
试试
update tableName set birthdate = month + "/" + day + "/" + year;
【讨论】: