探し回ったのですが、可能かどうかわかりませんでした。
私はこのMySQLクエリを持っています:
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
フィールドIDには「一意のインデックス」があるため、2つにすることはできません。同じ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)
誰かが私に最も効率的な方法が何であるかを教えてくれることを願っています。