database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 30815 게시물 읽기
No. 30815
Mysql 업데이트 구문 관련해서 질문드립니다.
작성자
손님
작성일
2014-12-22 10:35
조회수
5,919

안녕하세요. MySQL을 처음 다뤄보는데요.. 일단 MS-SQL은 다뤄봤는데 MySQL 은 처음 다뤄봐서요.

일단 개발언어는 C++(MFC)이구요. 서버는 MySQL인데

insert문이나 update문이나 크게 차이 없지만 ... 될까??해서 MySQL 업데이트 구문때문에 이렇게 여쭤봅니다.. (MSSQL도 이게 되는지는 몰라요;;)

쿼리문이 2개인데, 이걸 하나의 구문으로 수정이 가능한지 답변을 받고 싶습니다...

MySQL Query Brower에서 쿼리문을 제가 생각한대로 넣어봤는데.. 하나로 안되네요ㅠ

쿼리문은 아래와 같은데요.. 일단 2개의 쿼리문으로 나눴습니다. 쿼리문에 값을 기입해서 설명을 드리자면 아래와 같구요.. 

UPDATE 테이블명 SET order = 값1  WHERE no = 조건값1

UPDATE 테이블명 SET order = 값2  WHERE no = 조건값2

값을 바꿀 필드는 하나인데.. 조건값1과 조건값2의 값은 달라요. 그러니깐 각각의 조건값에 따라 (필드명은 같지만) 필드값이 달라요

저걸 하나로 합쳐볼까해서 밑의 구문으로 바꿔봤는데... 안되더라구요;;  구문 오류는 아닌데... 아마 조건값 AND에 걸려서 바뀌는 값이 없더라구요..

UPDATE 테이블명 SET order = 3, order = 1 WHERE no = 233 AND no = 235;

그래서 AND를 OR로 바꿨더니... 하나의 값만 바뀌는 현상이 ㅠㅠ 이건 하나의 쿼리문으로 안되나요?? 2개의 쿼리문으로 쪼갤 수 밖에 없나요???

 

이 글에 대한 댓글이 총 2건 있습니다.

UPDATE 테이블명

SET order = CASE no WHEN 233 then 3

                                        WHEN 235 then 1

                       end

WHERE no IN (233, 235);

 

이렇게 해보세요.

박인호(paerae)님이 2014-12-22 12:29에 작성한 댓글입니다.

박인호님 감사합니다!  

손님님이 2014-12-22 13:02에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
30818다중 update 궁금합니다.
Devyg
2015-01-20
5218
30817읽지않은 게시물의 개수와 게시물 구하기 [1]
익명
2015-01-13
5724
30816데이터가 아래와 같이 있으면 중복안되게 출력하고 싶어요.ㅠㅠ [1]
정우혁
2014-12-30
5580
30815Mysql 업데이트 구문 관련해서 질문드립니다. [2]
손님
2014-12-22
5919
30812[mysql] 행을 열로 변환 하는 방법 문의 드립니다.ㅠㅠ [1]
장창영
2014-12-19
9956
30810user 권한에 따른 성능차이가 있을까요? [1]
송진석
2014-12-17
5256
30809SELECT 속도 때문에 질문드립니다. [1]
바카
2014-12-17
6420
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.069초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다