我正在使用PhpMyAdmin,我的MySQL数据库中有一个表,其中每个记录大致相同ID
,列为varchar
,没有自动增量。正如我从几个人那里听到的那样,这是一个非常糟糕的主意,我想解决它。
所以我有一个表格,称之为old_table
,我想将其id
列更改为int
类型并自动增加,并为每个人分配一个唯一值记录。
有可能吗?或者在PhpMyAdmin中实现它的最简单方法是什么?不幸的是,我在这个主题上没有太多经验,所以如果有人能以正确的方式向我展示,我真的很感激。
我有两个想法,但我不确定哪个是最好的,我怎么能在实践中做到。
只需以某种方式编辑现有表,并为每个现有行(PhpMyAdmin内)添加唯一的id值。
在同一个数据库中创建一个新表,并将旧表中的内容加载到具有唯一id-s的新内容(在PhpMyAdmin内)。
答案 0 :(得分:2)
不确定您是否可以从PhpMyAdmin内部执行此操作,因为我不知道您是否可以在那里执行SQL命令。但你绝对可以从MySQL Workbench http://dev.mysql.com/downloads/workbench/5.2.html等MySQL界面中做到这一点。
您要做的是创建新表,并将id列设置为自动增量整数。然后将新表中的其余列设置为旧表中的相同名称和数据类型。最后,您希望将旧表中除id之外的所有数据插入新表中,如此...
insert into new_table (column1, column2, column3)
select column1, column2, column3 from old_table
这将选择column1,column2和column3中的数据到新表中各自的列中,id将自动在新表中设置。