2013-03-21 4 views
-3

5 개의 행이있는 테이블이 있습니다. 사용자가 양식에 데이터를 입력 할 때마다 테이블에 입력됩니다. 내 첫 번째 열은 id이고 게시물 번호를 보유합니다. 내가하고 싶은 일은 이전 행의 id 값을 얻고 그 값을 하나 추가 한 다음 현재 게시물의 id 필드의 값으로 설정합니다. 어떻게해야합니까?특정 행에서 MySQL 값을 가져 오는 방법은 무엇입니까?

+3

'AUTO_INCREMENT' 열을 사용하지 않는 이유가 있습니까? –

+0

자동 증가 기능을 사용하지 않는 이유는 무엇입니까? – fcm

+0

@lc. 그것이 존재한다는 것을 몰랐다. mysql 멍청한 놈 :/ – imulsion

답변

8

그냥 primary keyauto-increment으로 해당 필드를 설정, 자동으로 당신을 위해 이것을 할 것입니다. fetch the previous rowaddfield value에서 다음으로 넘어 가지 않아도됩니다.

2

필요한 SQL 쿼리는 다음과 같습니다

SELECT max(id) 
FROM tableName; 
+0

예, @Dead Man의 답변도 분명히 당신을 도울 것입니다 :) –

+0

Thanks a lot :) –

1

그런 다음

"INSERT INTO my_table (id auto_increment,primary key(id))"; 

당신이 얻을 수있는 것처럼 SQL 쿼리를 사용할 수 있습니다 ...

을하고 ID를 삽입 걱정할 필요가 없습니다 eachtime 자동

1

내가 권 해드립니다하지 않을 증가합니다 이것을 수행하면 race condition이 될 수 있습니다.

테이블 구조를 변경하고 id 필드를 primary key으로 설정하고 auto increment으로 설정하십시오. 새로운 행이 추가 될 때마다 항상 자동으로 다음 ID가 할당됩니다.

자동 증분 설정 방법에 대한 자세한 내용은 this answer을 참조하십시오.

2

세트 5 coulmn 여기

0

이 테이블을 변경할 수있는 쿼리입니다 포함하고 기본 키로 당신의 분야 또는 열을 설정하고 또한 자동으로 증가하는 테이블의 "ID"필드의 자동 증가 속성.

ALTER TABLE tbl ADD id INT PRIMARY KEY AUTO_INCREMENT; 
관련 문제