2011-09-29 4 views
0

테이블을 업데이트하고 해당 ID 열의 각 항목에 대한 ID 번호로 열을 만들려면 어떻게해야합니까? 내가 열 도시 ASC으로 정렬 될 각 도시의 ID 번호를했을이 테이블의 열을 필요로mysql 테이블 업데이트

city  
------------- 
    New York 
    Los Angeles 
    London 
    Belgrade 

: 같은

표는 현재 보인다.

뭔가 같은 :

id | city 
---------------- 
    1 | Belgrade 
    2 | London 
    3 | Los Angeles 
    4 | New York 

나는이 사용하는 MySQL의 쿼리를 수행하거나 내가 PHP와 MySQL을 사용하는 것이해야 할 수 있습니까? 귀하의 경우 너무

답변

0
ALTER TABLE table_name 
ADD column_name column-definition; 

ALTER TABLE cities 
ADD id int auto-increment; 
+0

은 ... – Galz

0
당신은 소급이 테이블에 사용할 자동 증가와 함께 ID 열을 추가하고자 할 것

.

쿼리는 다음과 같이 보일 것입니다 :

ALTER TABLE city ADD id INT NOT NULL AUTO_INCREMENT KEY 

을 내가 그 돌아가서 모든 ID를 당신을 위해 채울려고하고 있는지 확실하지 않습니다하지만 당신은 PROC 또는 다른 단순한를 작성해야 할 수도 있습니다 쿼리를 작성하지만, 앞으로 제공 할 기능이있는 열을 제공합니다.

+0

그것은 기존 행을 작성하지만, 반드시 도시 컬럼의 알파벳 순서에 따라되지 않습니다. – Galz

0

현재 도시 이름으로 테이블을 정렬하지 않은 경우 가장 쉬운 방법은 새 테이블을 만든 다음 이전 테이블을 삭제하고 이름을 바꾸는 것입니다. 나는이 도시의 열 값으로 정렬 할 것 인 ID 열을 생성합니다 확실하지 오전

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; 
관련 문제