gpt4 book ai didi

mysql - 将设置为 varchar 的主键字段转换为 int 字段

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

我之前的开发人员创建了一个名为“Tools”的数据库表,它包含两个字段,toolid - varchar(255) 和 toolname - varchar(100)。

toolid字段是varchar类型,是主键。表中有数据。

我想将 varchar toolid 字段转换为 int 类型,同时保留带有它们的键的数据,我还希望此字段自动递增。

目前键是数字,例如12或22或3。

最好的方法是什么?

最佳答案

如果您只想将 varchar 字段更改为 int 字段,当然它不会让您这样做,因为数据类型不匹配,但是,一个非常简单的解决方法是:

创建第二个表,其中将包含您的主表中的所有字段。

CREATE TABLE `Tools2` SELECT * FROM `Tools`;

清空数据,因为我们需要将 toolname 从 varchar 更改为 int,并且当它已满时无法执行此操作。

TRUNCATE TABLE `Tools2`;

好的,让我们更改字段类型。

ALTER TABLE `Tools2` CHANGE `toolname` `toolname` INT(11) NOT NULL;

现在让我们重新插入原始表中的数据。

INSERT INTO `Tools2` SELECT * FROM `Tools`;

Tools2 现在是 Tools 的正确版本,因此删除 Tools。

DROP TABLE `Tools`;

最后,将 Tools2 重命名为 Tools,这样你就可以开始了。

RENAME TABLE `Tools2` TO `Tools`;

关于mysql - 将设置为 varchar 的主键字段转换为 int 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623506/

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