MySQL 使用现有字段值更改表

发布于 2024-09-28 09:47:54 字数 465 浏览 0 评论 0原文

我正在使用一个数据库,该数据库有一个名为日期的表,其中包含一个单独的日、月、年字段。显然,当我尝试运行比较等时,这并不理想。我想知道我是否可以向该表的每一行添加一个日期时间字段,并将一个连接字符串从现有的日、月、年字段。

我很确定这是可能的,我只是想知道是否有人能够为我指明如何实现这一目标的正确方向?

以下是当前日期表:(我知道)

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

假扮的天使 2024-10-05 09:47:54

首先使用 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.

辞别 2024-10-05 09:47:54

试试这个(未经测试)-

UPDATE date d SET d.datetime = (SELECT CONCAT('-','year','month','day') from date d1 where d1.id = d.id);

Try this (untested) -

UPDATE date d SET d.datetime = (SELECT CONCAT('-','year','month','day') from date d1 where d1.id = d.id);
起风了 2024-10-05 09:47:54

有什么问题吗,我不明白?更改表,添加新的 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文