MySQl字段类型

时间:2011-05-19 21:10:01

标签: mysql

我的数据库中有一个表,用于存储用户操作的记录。目前,包含用户ID的列设置为int(11),但是我对我的代码进行了一些更改,我将添加临时用户ID。

为了区分临时ID和常规ID,我将前缀0添加到id。

示例:4 - 普通用户; 023 - 临时

然而,当我将此ID填充到ym表中时,零被丢弃。我需要将哪种字段类型更改为保持所有ID?

4 个答案:

答案 0 :(得分:2)

如果要为id添加0

,可以将其更改为varchar

但你可能想试试这个。 添加新列:

ALTER TABLE `your_table`  ADD COLUMN `temp_id` INT(11) NULL AFTER `original_id`;

然后迁移你的id

UPDATE `your_table` SET temp_id = `original_id`;

答案 1 :(得分:1)

我认为您必须使用varchar字段,但请注意,如果您有auto_increment,这将消除您的auto_increment。

答案 2 :(得分:0)

用户ID是int,int是二进制数。前导零是SAME作为没有前导零的数字。

我建议否定号码以表示临时身份。

答案 3 :(得分:0)

你不能在int之前添加0((01 == 1) - 大多数情况下,但我不会进入变幻莫测的那种情况)。

只需添加一个类型列即可。您可以随时删除该列。