MYSQL
HOME > DB > MYSQL
2018.11.22 / 01:53

MySQL µ¥ÀÌÅÍ°¡ ¾øÀ¸¸é INSERT ÇÏ°í ÀÖÀ¸¸é UPDATE Çϱâ

hanulbit
Ãßõ ¼ö 182

MySQL µ¥ÀÌÅÍ°¡ ¾øÀ¸¸é  INSERT ÇÏ°í ÀÖÀ¸¸é UPDATE Çϱâ

µ¥ÀÌÅ͸¦ ÀÔ·Â ¹Þ¾Æ¼­ ó¸® ÇÒ ¶§, SELECT·Î µ¥ÀÌÅÍÀÇ Á¸À縦 È®ÀÎÇÑ ´ÙÀ½ INSERT¸¦ ÇÒÁö, UPDATE¸¦ ÇÒÁö ±¸ºÐÇÏ¿© ó¸®Çß´ø °æ¿ì°¡ Àִµ¥, ÇѹøÀÇ Äõ¸®·Î µ¥ÀÌÅ͸¦ INSERT ¶Ç´Â UPDATE ¸¦ ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ´Ù.


ÀÌ°ÍÀÌ INSERT INTO ON DUPLICATE KEY UPDATE ¶ó´Â °ÍÀÌ´Ù. ÀÌ°ÍÀº ƯÁ¤ Ä÷³¿¡ Unique ÇÏ´Ù´Â Á¦¾àÁ¶°ÇÀÌ ÀÖ´Ù¸é ±× Å°¸¦ °¡Áö°í ÀÖ´Â µ¥ÀÌÅÍ°¡ µé¾î¿À¸é INSERT¸¦ ½ÇÇàÇÏ°í, Unique ÇÑ Å° °ªÀÌ ÀÌ¹Ì ÀÖÀ» °æ¿ì¿¡´Â UPDATE¸¦ ¼öÇàÇÏ´Â °ÍÀÌ´Ù.


´ÙÀ½ Å×À̺íÀ» º¸ÀÚ. ¾Æ·¡¿Í °°Àº ±¸Á¶¸¦ °¡Áø Å×À̺íÀÌ ÀÖ´Ù. UNIQUE Å°´Â login_id, reg_date °¡ µÇ°Ú´Ù.






Å×ÀÌºí¿¡´Â ¾Æ·¡¿Í °°Àº µ¥ÀÌÅÍ°¡ ÀÖ´Ù.


»õ·Î¿î µ¥ÀÌÅÍ·Î 'a', '2017-05-28' ÀÇ Áߺ¹µÇ´Â Å°°ªÀ¸·Î µ¥ÀÌÅ͸¦ Ãß°¡ ¶Ç´Â ¾÷µ¥ÀÌÆ®¸¦ ÇÏ·Á°í ÇÑ´Ù.




´ÙÀ½°ú °°Àº SQL¹®À» ¼öÇàÇÑ´Ù. (Áߺ¹µÈ µ¥ÀÌÅÍ ÀÔ·Â)

INSERT INTO user_detail
(login_id, reg_date, work_exec, work_recv) VALUES ('a','2017-05-28',9,8)
ON DUPLICATE KEY UPDATE
work_exec=9, work_recv=8



´Ù½Ã Å×À̺íÀÇ µ¥ÀÌÅ͸¦ º¸°Ô µÇ¸é  'a', '2017-05-28' °ªÀº UNIQUE °ªÀÌ Áߺ¹µÇ¹Ç·Î UPDATE°¡ ¼öÇàµÇ¾ú´Ù.





À̹ø¿£ ´ÙÀ½°ú °°Àº SQL¹®À» ¼öÇàÇÑ´Ù. (»õ·Î¿î µ¥ÀÌÅÍ ÀÔ·Â)

INSERT INTO user_detail
(login_id, reg_date, work_exec, work_recv) VALUES ('a','2017-05-20',1,3)
ON DUPLICATE KEY UPDATE
work_exec=1, work_recv=3




´Ù½Ã Å×À̺íÀÇ µ¥ÀÌÅ͸¦ º¸°Ô µÇ¸é  'a', '2017-05-20' °ªÀº Áߺ¹µÇÁö ¾Ê´Â µ¥ÀÌÅÍ À̹ǷΠINSERT°¡ ¼öÇàµÇ¾ú´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù.