2012-06-20 3 views
0

이 작업을 수행하는 데 약간의 문제가 있습니다. 여기에 내가 무엇을해야하는지의 요지입니다 :다른 테이블의 필드가 조건을 충족하는 경우에만 MySQL 업데이트

UPDATE links SET 
link = '$link', rid = $rid, order = $order 
WHERE lid = $lid 
IF (SELECT COUNT(*) FROM resources WHERE rid = $rid AND (sid = $sid OR sid IS NULL) AND types IS NULL) == 1; 

그래서 기본적으로, 나는 UPDATE를 실행하려면이 경우와 자원 테이블에서 자원이 사이트 (SID)와 관련된 또는과 관련이없는 경우에만 특정 사이트 및 유형은 null입니다.

필자는 PHP 조건부를 실행할 수 있다고 가정하지만 한 쿼리로이 작업을 수행 할 수 있다면 바람직합니다. 가능한가?

Thansk 너무 많이!

답변

5
UPDATE links 
SET link = '$link', rid = $rid, order = $order 
WHERE lid = $lid 
and (SELECT COUNT(*) 
    FROM resources 
    WHERE rid = $rid 
    AND (sid = $sid OR sid IS NULL) 
    AND types IS NULL) = 1; 
+0

정말 고마워요! –

관련 문제