하나의 테이블에 대해 두 개의 쿼리를 만듭니다.행에서 데이터를 선택하고 한 번에 업데이트하는 방법은 무엇입니까?
SELECT url FROM links WHERE post = '0' AND keywords = 'key';
그런
UPDATE links SET post='1' WHERE keywords = 'key';
는하지만 많은 스레드 때문에 중복을 얻는다. 두 요청을 하나로 결합하는 방법은 무엇입니까? 감사
하나의 테이블에 대해 두 개의 쿼리를 만듭니다.행에서 데이터를 선택하고 한 번에 업데이트하는 방법은 무엇입니까?
SELECT url FROM links WHERE post = '0' AND keywords = 'key';
그런
UPDATE links SET post='1' WHERE keywords = 'key';
는하지만 많은 스레드 때문에 중복을 얻는다. 두 요청을 하나로 결합하는 방법은 무엇입니까? 감사
경쟁 조건을보십시오.
UPDATE links SET post='1' WHERE keywords in
(SELECT keywords FROM links WHERE post = '0' AND keywords = 'key');
참조 링크를 제공하는 것이 좋습니다. 그러나 앞으로는 링크를 사용할 수 없을 수도 있습니다. 그래서, 응답 자체에 몇 가지 설명, 코드를 제공해주십시오. – Jay
여기에 Noobie, 마음에 계속됩니다 –
이 당신을 위해 작동 할 수 있습니다 읽어주고, 다음 링크를이
UPDATE links SET post='1' WHERE keywords = 'key' AND post = '0';
또는
이라고UPDATE links SET post='1' WHERE url in
(SELECT url FROM links WHERE post = '0' AND keywords = 'key');
단일 명령문에서 선택 및 업데이트 할 수 없습니다. 이 작업을 수행하려면 저장된 proc 또는 트랜잭션이 필요합니다. –
흠, 좀 더 설명 해주세요 .. 무엇을 성취하려고합니까? – Conan
@Conan 키 (키워드)에 해당하는 모든 링크 (URL)를 표 (링크)에서 선택해야하지만 동시에 (게시 = '1') 표시하여 다른 스레드가 수행하도록해야합니다 그들을 다시 데려 가지 마라. 다른 방법으로 구현하는 방법을 알려 주시면 감사하겠습니다. – Astraport