簡體   English   中英

使用現有字段值的MySQL Alter Table

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM