Я вставив some_data
(уникальный ключ столбца), а затем, используя полученный user_id
(ключевой столбец первичного автоинкрементируемого) в отдельном заявлении (не показан)Mysql: самый эффективный способ получить идентификатор от попытки вставки?
INSERT IGNORE INTO users (some_data) VALUES ('test');
SELECT LAST_INSERT_ID(); <--- I do stuff with this.
Но, конечно, если some_data
уже существует (бывает очень часто), LAST_INSERT_ID()
возвращает 0. Каков наилучший способ получить user_id
на основе уникального ключа some_data
, в данном случае? Конечно, я могу сделать отдельный запрос WHERE, но не уверен, что это самый эффективный.
Er .... (1) Я не знаю, идентификатор. (2) не будет ли устанавливать id равным 0, если ключ дублируется? – Agamemnus
Отметьте это сообщение: http: //stackoverflow.com/questions/14383503/on-duplicate-key-update-same-as-insert Кажется, это тоже ваша проблема. – byrnedo
byrnedo, спасибо за ссылку, но критическая часть получает идентификатор после вставки/обновления уже существующего элемента. Никакого решения не было. – Agamemnus