gpt4 book ai didi

mysql - 转换MySQL中的列类型

转载 作者:行者123 更新时间:2023-11-29 08:04:57 25 4
gpt4 key购买 nike

我必须从 CSV 文件中引入一大堆表格。其中许多文件都有 INT 列,但有空值。为了加快导入速度,我刚刚将所有列设为 VARCHAR。现在我在表中拥有所有这些数据,但需要更改类型。我可以在 MySQL 工作台中执行此操作,但有一个问题除外:错误是由于空值/空白值造成的。是否有某种 SQL 魔法可以让我转换这些列类型并忽略空值或用该数据类型的正确“空值”替换它们?

最佳答案

您可以更新列以将空白字段设置为 NULL,如下所示:

UPDATE mytable SET mycolumn=NULL WHERE TRIM(mycolumn,' ')='';

然后将您的正常表更改如下:

ALTER TABLE mytable MODIFY mycolumn VARCHAR(255);

“DEFAULT NULL”是可选的,因为默认情况下字段允许为空。这应该允许您将列转换为您想要的任何数据类型,没有任何问题,除非存在混合数据(例如数字和字符串),并且您希望使该列成为 FLOAT。

上面的示例也没有考虑删除回车符等,如果列包含“\n”或“\r\n”而没有其他内容,则不会将其设置为 NULL,但是如果有的话,您可以修改“TRIM(mycolumn, ' ')”以满足这些要求:又名...

UPDATE mytable SET mycolumn=NULL WHERE TRIM(mycolumn,"\n")='';

关于mysql - 转换MySQL中的列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22926378/

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