我正在使用一个数据库,该数据库有一个名为date的表,其中包含一个用于日,月,年的单独字段。显然,当我尝试运行比较等时,这并不理想。我想知道我是否可以在此表的每一行中添加一个DateTime字段,并在现有日期,月份的新字段中插入连接字符串,年场。
我很确定这是可能的,我只是想知道是否有人能指出我如何实现这个目标的正确方向?
以下是当前日期表:(我知道)
CREATE TABLE IF NOT EXISTS `date` (
`deposition_id` varchar(11) NOT NULL default '',
`day` int(2) default NULL,
`month` int(2) default NULL,
`year` int(4) default NULL,
PRIMARY KEY (`deposition_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
答案 0 :(得分:2)
首先使用alter table query:
alter table date add column datetimefield datetime NOT Null
然后
在日期使用自我加入的更新查询,并使用日期,月份,年份列值的concat更新datetimefield。
答案 1 :(得分:1)
试试这个(未经测试) -
UPDATE date d SET d.datetime = (SELECT CONCAT('-','year','month','day') from date d1 where d1.id = d.id);
答案 2 :(得分:0)
有什么问题,我不明白?更改表,添加新的DATE列,然后使用CONCAT mysql函数或其他任何东西用字符串“yyyy-mm-dd”填充它。