Mysql更新表
问题描述:
如何更新表并使用该ID列中每个条目的ID号创建列?Mysql更新表
表目前是这样的:
city
-------------
New York
Los Angeles
London
Belgrade
我需要在这个表中的列,将有每一个将被列城ASC责令全市的ID号。
喜欢的东西:
id | city
----------------
1 | Belgrade
2 | London
3 | Los Angeles
4 | New York
我能做到这一点使用MySQL查询或者我需要使用PHP和MySQL吗?
答
ALTER TABLE table_name
ADD column_name column-definition;
所以在你的情况下,其
ALTER TABLE cities
ADD id int auto-increment;
答
你会想要追溯启用该表自动递增添加标识列。
查询会是这个样子:
ALTER TABLE city ADD id INT NOT NULL AUTO_INCREMENT KEY
但是我不知道这是要回去和所有的ID,用于您填写,您可能需要编写一个进程或另一个简单查询来填充它们,但是这会为您提供希望前进功能的列。
+0
这将填补现有行,但不一定根据城市列的字母顺序排列。 – Galz
答
如果此时表格未按城市名称排序,最简单的方法是创建一个新表格,然后删除旧表格并重命名。
CREATE TABLE new (
id INT NOT NULL AUTO_INCREMENT,
city VARCHAR(255) NOT NULL);
INSERT INTO new (city)
SELECT city FROM old_table ORDER BY city;
DROP TABLE old_table;
RENAME TABLE new TO old_table;
我不知道这将创建一个ID列,将被市列值进行排序... – Galz