Prre
70
2019-05-03 09:34:55
4
276

Mysql 레코드 복사 질문드립니다.



한테이블 내에서 레코드를 복사하려고 하는데 한값만 바꿔서 복사하려고 합니다.

예를들면 DATA테이블에 값이


id  pw 국가코드

10  5   KOR

2    1   KOR

2    2   ENG

가 있다고 가정할 때 KOR값을 가지고있는 레코드를 ENG값으로 변경하여 복사하는게 가능할까요?


0
0
  • 답변 4

  • icksss
    1k
    2019-05-03 10:07:24

    INSERT INTO 넣을테이블(id,pw,국가코드) (SELECT id,pw,CASE WHEN 국가코드 = 'KOR' THEN 'ENG' ELSE 국가코드 END AS 국가코드 FROM 복사할테이블)

    0
  • Prre
    70
    2019-05-07 15:17:09

    늦게 답변체크해서 죄송합니다!

    INSERT INTO m_commoncode(uid,sid,systype,syscode,sysname,sysval1,sysval2,sysval3,syssort,sysyn,sysbigo,wdate) 

    (SELECT uid,sid,systype,syscode,sysname,sysval1,sysval2,sysval3,syssort,sysyn,sysbigo,wdate, 

     CASE

     WHEN sid = 'ENG' 

     THEN 'CNA' 

     ELSE sid

     END AS sid

     FROM m_commoncode);


    알려주신대로 복사했는데 


    Column count doesn't match value count at row 1 라는 오류가 뜨네요 ㅠ


    칼럼개수는 맞는거 같은데 uid가 자동생성이라 그런건가요?

    0
  • icksss
    1k
    2019-05-07 16:11:49

    uid,sid,systype,syscode,sysname,sysval1,sysval2,sysval3,syssort,sysyn,sysbigo,wdate

    1    2    3             4              5             6           7             8            9        10      11        12

    SELECT uid,sid,systype,syscode,sysname,sysval1,sysval2,sysval3,syssort,sysyn,sysbigo,wdate, 

                     1  2       3            4            5           6              7            8           9        10      11         12

     CASE

     WHEN sid = 'ENG' 

     THEN 'CNA' 

     ELSE sid

     END AS sid

     FROM m_commoncode)

     13   


    1개더 많은데요


    0
  • Prre
    70
    2019-05-07 16:17:59
    네 감사합니다 ㅠ 원인 찾았습니다
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.