如何更新表并使用该ID列中每个条目的ID号创建列?
目前的表格如下:
city
-------------
New York
Los Angeles
London
Belgrade
我需要此表中的列,该列具有每个城市的ID号,这些列号将由列城ASC订购。
类似的东西:
id | city
----------------
1 | Belgrade
2 | London
3 | Los Angeles
4 | New York
我可以使用mysql查询执行此操作,还是需要使用PHP和Mysql执行此操作?
答案 0 :(得分:0)
ALTER TABLE table_name
ADD column_name column-definition;
所以在你的情况下它
ALTER TABLE cities
ADD id int auto-increment;
答案 1 :(得分:0)
您想要追溯性地添加一个启用了自动增量的标识列。
查询看起来像这样:
ALTER TABLE city ADD id INT NOT NULL AUTO_INCREMENT KEY
但是我不确定是否会返回并为您填写所有Id,您可能需要编写一个proc或其他简单查询来填充它们,但是这将为您提供具有该功能的列你想要前进。
答案 2 :(得分:0)
如果表目前没有按城市名称排序,最简单的方法是创建一个新表,然后删除旧表并重命名。
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;