나는 주변을 검색했지만 가능한지 찾지 못했습니다.
나는이 MySQL 쿼리를 가지고있다 :
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
필드 ID에는 "고유 인덱스"가 있으므로 두 개를 가질 수 없습니다. 이제 동일한 ID가 데이터베이스에 이미 존재하면 업데이트하고 싶습니다. 그러나 실제로 다음과 같이이 모든 필드를 다시 지정해야합니까?
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
ON DUPLICATE KEY UPDATE a=2,b=3,c=4,d=5,e=6,f=7,g=8
또는:
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c),d=VALUES(d),e=VALUES(e),f=VALUES(f),g=VALUES(g)
삽입물에 이미 모든 것을 지정했습니다 ...
참고로, ID를 얻기 위해 해결 방법을 사용하고 싶습니다!
id=LAST_INSERT_ID(id)
누군가 가장 효율적인 방법이 무엇인지 말해 줄 수 있기를 바랍니다.
a=VALUES(a), b=VALUES(b), ...
가 필요합니다. 이것이 제가 모든INSERT ON DUPLICATE KEY UPDATE
진술에 대해하는 방법 입니다.