我正在使用一个数据库,该数据库有一个名为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;发布于 2010-10-20 15:36:23
首先使用alter table query:
alter table date add列datetime datetime NOT Null
然后
在date上使用update查询时使用自联接,在date、month、year列值上使用update datetimefield和concat。
发布于 2010-10-20 15:38:54
试试这个(未测试的)-
UPDATE date d SET d.datetime = (SELECT CONCAT('-','year','month','day') from date d1 where d1.id = d.id);发布于 2010-10-20 15:34:08
有什么问题,我不明白?修改表,添加新的DATE列,然后使用CONCAT mysql函数或其他方法用字符串"yyyy-mm-dd“填充它。
https://stackoverflow.com/questions/3975574
复制相似问题