我的数据库中有一个表,用于存储用户操作的记录。目前,包含用户ID的列设置为int(11),但是我对我的代码进行了一些更改,我将添加临时用户ID。
为了区分临时ID和常规ID,我将前缀0添加到id。
示例:4 - 普通用户; 023 - 临时
然而,当我将此ID填充到ym表中时,零被丢弃。我需要将哪种字段类型更改为保持所有ID?
答案 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) - 大多数情况下,但我不会进入变幻莫测的那种情况)。
只需添加一个类型列即可。您可以随时删除该列。