2012-03-15 10 views
0

데이터베이스에이 테이블이 있는데, 매번 1을 더해야합니다. null 인 경우를 1로 설정하고 싶지 않은 한. 나는 디폴트 값을 0으로 만들 것을 생각했지만, 역시 0이 필요하다.null을 확인하십시오.

예를

----------------------- 
id  number 
----------------------- 
01  NULL 
02  3 
03  1 

을 위해 내가이 쿼리를 실행하지 않습니다.

QUERY1 : SELECT number and store it in variable 

if($number == NULL) $number = 1 
else 
{ 
$number = $number++ 
} 

QUERY2 : UPDATE number 

는 1 SQL 쿼리 데이터를 PHP에서 과정없이 날 위해이 할 수있다?

감사의 트릭을 할해야

답변

3
UPDATE table SET number=IF(number IS NULL,1,number+1) 

.

0

예, 값이 NULL인지 여부를 감지 할 수 있습니다. 이 작업을 수행합니다 :

UPDATE mytable SET number = IF(ISNULL(number), 1, number+1) 

이것은 1-NULL을의 숫자를 설정하고 하나 다른 숫자를 증가시킬 것이다. 그래서이 :

----------------------- 
id  number 
----------------------- 
01  NULL 
02  3 
03  1 

을 얻을 것입니다 :

----------------------- 
id  number 
----------------------- 
01  1 
02  4 
03  2 

이 방법, 당신은 더 이상 PHP를 통해 갈 필요가 없습니다.

+0

정말 고맙습니다. –

관련 문제