|
|
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
Вставляю значение через INSERT IGNORE и получаю средствами DBI(perl) ID вставленного значения $db->{mysql_insertid}; Если INSERT был то всё нормально, а вот если сработал IGNORE, то ID не возвращается. Каким бы запросом можно было-бы делать вставку, но в случае сработанного IGNORE вернуть id уже существующей записи? Одним запросом хочу это сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 12:31:57 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
См. функцию LAST_INSERT_ID() . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 13:12:17 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
miksoftСм. функцию LAST_INSERT_ID() . Хорошо, а как объеденить в один запрос INSERT с данной функцией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 13:29:01 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
feddd, у этой функции можно указать параметр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 13:39:02 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
miksoftfeddd, у этой функции можно указать параметр Кст данная функция не подходит, т.к. когда при INSERT срабатывает IGNORE то данная функция возвращает результат последней реальной вставки данных, а не её попытки. А мне нужно в случае срабатывания IGNORE вернуть id уже имеющейся записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 14:27:49 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
и id=LAST_INSERT_ID(id) не помогает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 15:07:02 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
miksoftи id=LAST_INSERT_ID(id) не помогает? Покажите вариант полного запроса, я не могу понять, что вы имеете ввиду. Код: sql 1. 2. Вернёт 0 при условии, что запись (1, 'folder1') уже существовала. А мне нужно в случае существования вернуть её ID, сейчас это делается двумя запросами, то есть проверяю если ID не вернулся, то делаю SELECT, вопрос в том, как это одним запросом сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 15:50:46 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. Код: sql 1. Сам не тестил, но, по идее, работать должно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 15:56:14 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
Не могу врубиться, вам же известен id. Сейчас он 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 16:25:23 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
debloggerНе могу врубиться, вам же известен id. Сейчас он 1.Это другое поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 16:27:15 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
Все равно. Если значение примари заранее неизвестно значит это новая запись, иначе - старая. авторЕсли INSERT был то всё нормально, а вот если сработал IGNORE, то ID не возвращается. Если сработал игноре то значит в валуях был дубликат ключа. Следовательно его можно посмотреть вычислив по признаку отсутствия того самого last_insert'а, или я в принцип не врубаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 16:46:18 |
|
||
|
Inser ignore возвращение id
|
|||
|---|---|---|---|
|
#18+
miksoft Код: sql 1. Код: sql 1. Сам не тестил, но, по идее, работать должно. Да. Так сработало, благодарю. deblogger, нет суть вобще в другом)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 00:24:49 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38352280&tid=1836339]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 319ms |

| 0 / 0 |
