node 에서 디비 insert 할때 구문질문 입니다.
본문
await pool.execute("INSERT INTO `g5_table` (`p_id`, `p_code`, `p_name`) VALUES ( ?, ?, ?)",[args.pid, args.code, args.name]);
// 현재 위처럼 디비테이블에 insert 가 되고 있습니다.
// 중복값이 나올때가 있어서 이를 해결하려고 하는데요..
// ON DUPLICATE KEY 를 이용해서 args.code, args.name 중복확인을 하려고 합니다.
안녕하세요.
node 에서 위처럼 디비 처리가 되고 있습니다.
중복값을 걸러 내려고 ON DUPLICATE KEY 를 이용하면 될거 같은데요..
node 에서는 구문작성을 어떻게 해야 할지..^^;;
선배님들께 구문작성법을 물어봐야 할거 같아서요..
조언 부탁드립니다. ^^
!-->
답변 1
https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html
g5_table 의 구조가 정확히 어떻게 구성되어 있는지는 모르겠으나
대략적인 형태는 다음과 같이 표현할수 있습니다.
await pool.execute("INSERT INTO `g5_table` (`p_id`, `p_code`, `p_name`) VALUES ( ?, ?, ?) ON DUPLICATE KEY UPDATE `p_name` = ?",[args.pid, args.code, args.name, args.name]);
답변을 작성하시기 전에 로그인 해주세요.