|
|
|
| Здравствуйте!
Возникла необходимость определить,что именно выполнил запрос
INSERT INTO `main` ....... ON DUPLICATE KEY UPDATE.....
|
INSERT или UPDATE?
Можно ли узнать это? | |
|
|
|
|
|
|
|
для: Хулиган
(29.06.2013 в 23:51)
| | При апдейте affected_rows всегда в два раза больше чем при инсерте.
Т.е. если вы вставляли 2 строки, то при affected_rows:
=2 - было вставлено 2 строки
=3 - была вставлена 1 строка, 1 обновлена
=4 - обе были обновлены. | |
|
|
|
|
|
|
|
для: Sfinks
(30.06.2013 в 12:42)
| | ага, есть такое, правда непонятно, при апдейте одной строки выдает 3, а если строки не было, выдает 1. Почему 1 при вставке - понятно, а почему 3 при апдейте - непонятно, запрос был по уникальному полю, так что две записи никак не могли быть задействованы. | |
|
|
|
|
|
|
|
для: Хулиган
(29.06.2013 в 23:51)
| | mysql_insert_id ? | |
|
|
|
|
|
|
|
для: Valick
(30.06.2013 в 14:44)
| | Если я не ошибаюсь, mysql_insert_id работает, если задествован auto increment, а у меня его нет | |
|
|
|
|
|
|
|
для: Хулиган
(30.06.2013 в 18:24)
| | Если не ошибаюсь, то Пушкин забыл это написать в первом посте ;) | |
|
|
|