2013-07-08 3 views
-4

다른 열의 값을 기반으로하는 열 값을 바꾸려고하는데 구문 오류가 계속 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 여기에 내가 피곤한 것이있다 :mysql SET 및 UPDATE

SELECT * FROM `table` WHERE `id_1` =164 and `id_2` = 6 
SET `id_1` = (188|164) 
WHERE `id_1` = 164 AND `id_2` = 6 
UPDATE `table` 

이렇게하면 SET 근처에 구문이 생깁니다.

SELECT * FROM `table` WHERE `id_1` = 164 AND `id_2` = 6 
UPDATE `table` 
SET `id_1` = 188 
WHERE `id_2` = 6 

이렇게하면 아래의 모든 내용에 대해 오류가 발생합니다.

도움 말? 감사.

+0

UPDATE 문 구문을 찾는 것이 가장 좋습니다. http://dev.mysql.com/doc/refman/5.5/en/update.html –

답변

2

하나의 쿼리에서 UPDATE와 SELECT를 둘 다 사용할 수 없습니다.

과 같이 별도로 두 쿼리를 실행 : 다음

SELECT * FROM `table` WHERE `id_1` = 164 AND `id_2` = 6 

그리고 실행 : 당신은 문 문장의 끝을 누락

UPDATE `table` 
SET `id_1` = 188 
WHERE `id_2` = 6; 
+0

이것이 효과적입니다. 감사합니다 – Kisaragi

+0

@Kisaragi 다음 허용으로 표시합니다. –

1

을 ';' 귀하의 선택 진술 후. 당신의 구문 오류를 제거합니다

SELECT * FROM `table` WHERE `id_1` = 164 AND `id_2` = 6; -- semicolon goes here 
UPDATE `table` 
SET `id_1` = 188 
WHERE `id_2` = 6; -- and another semicolon goes here 

: 당신이 선택을 한 후에 당신은 당신이 당신의 다음 문 (업데이트)를 시작하기 전에 문을 종료해야합니다.