Я шукав навколо, але не знайшов, чи можливо.
У мене цей запит MySQL:
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,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=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=LAST_INSERT_ID(id)
Я сподіваюся, що хтось може сказати мені, який спосіб є найефективнішим.
a=VALUES(a), b=VALUES(b), ...
- це шлях, який потрібно пройти. Ось так я це роблю для всіх своїхINSERT ON DUPLICATE KEY UPDATE
висловлювань.