MySQL 使用现有字段值更改表
我正在使用一个数据库,该数据库有一个名为日期的表,其中包含一个单独的日、月、年字段。显然,当我尝试运行比较等时,这并不理想。我想知道我是否可以向该表的每一行添加一个日期时间字段,并将一个连接字符串从现有的日、月、年字段。
我很确定这是可能的,我只是想知道是否有人能够为我指明如何实现这一目标的正确方向?
以下是当前日期表:(我知道)
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;
I am working with a database that has a table called date, which contains a separate field for day, month, year. Clearly this is not ideal when I am trying to run comparisons, etc. I am wondering is it possible for me to add a DateTime field to each row of this table and insert a concatenated string into the new field from the existing day, month, year fields.
I am quite sure its possible, I'm just wondering if anyone might be able to point me in the right direction on how to achieve this?
Below is the current date table: (i know)
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;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
首先使用 alter table 查询:
alter table date 添加列 datetimefield datetime NOT Null
然后
使用更新查询与日期自连接,并使用 concat 更新日期时间字段,月,年列值。
first use alter table query:
alter table date add column datetimefield datetime NOT Null
then
use update query with self join on date and update datetimefield with concat on date,month, year column values.
试试这个(未经测试)-
Try this (untested) -
有什么问题吗,我不明白?更改表,添加新的 DATE 列,然后使用 CONCAT mysql 函数或其他函数用字符串“yyyy-mm-dd”填充它。
What is the problem, I don't understand? Alter the table, add new DATE column and then populate it with a string "yyyy-mm-dd" using CONCAT mysql function or whatever.