gpt4 book ai didi

mysql - 在 SQL 中更改列类型

转载 作者:行者123 更新时间:2023-11-29 04:02:19 26 4
gpt4 key购买 nike

嘿,我有一个 SQL 表,其中有一列用于存储日期,但日期列的类型为 varchar。我想将类型更改为最新,但我不希望该列中的实际数据丢失。我怎样才能做到这一点。

手动备份表格然后输入每个条目?或者还有其他一些很酷的方法吗?其实数据很大

谢谢

最佳答案

我的做法:

(1) 添加新列:

ALTER TABLE yourtable 
ADD COLUMN `new_date` DATE NULL AFTER `views`;

(2)更新新列

UPDATE yourtable SET new_date = old_date;

注意 old_date 中的数据格式。如果它的格式不是 yyyy-mm-dd,您可能必须 STR_TO_DATE或此处 UPDATE 语句中的一些字符串替换以满足您的目的。

示例:

如果您的数据如下所示:mmmm dd, yyyy, hh:mm (p.e. May 17, 2012, 8:36 pm),您可以这样更新:

UPDATE yourtable
SET new_date = STR_TO_DATE(old_date, "%M %e, %Y");

STR_TO_DATE基本上将字符串数据反向工程为日期值。

(3)删除旧列

ALTER TABLE yourtable 
DROP COLUMN `old_date`;

(4)重命名新列

ALTER TABLE yourtable 
CHANGE `new_date` `old_date` DATE NULL;

完成!

关于mysql - 在 SQL 中更改列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com