![](/img/trans.png)
[英]MySQL Alter Table Add Field Before or After a field already present
[英]MySQL Alter Table using existing field values
我正在使用一個具有稱為日期的表的數據庫,該表包含一個單獨的字段,分別用於日,月,年。 顯然,當我嘗試進行比較等操作時,這並不理想。我想知道是否可以將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;
首先使用alter table查詢:
更改表日期添加列datetimefield datetime NOT Null
然后
使用帶有日期自動聯接的更新查詢,以及帶有日期,月份,年份列值的concat的datetimefield更新。
試試這個(未試用)-
UPDATE date d SET d.datetime = (SELECT CONCAT('-','year','month','day') from date d1 where d1.id = d.id);
有什么問題,我不明白? 更改表,添加新的DATE列,然后使用CONCAT mysql函數或其他任何字符串填充“ yyyy-mm-dd”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.