|
sql insert if not exists
|
|||
---|---|---|---|
#18+
сейчас вставляем данные в базу командой insert into users (mobile,email) values ('+71112223344', 'test@test.ru') как будет выглядеть команда которая при вставке сразу же проверит одновременно 3 условия есть ли в users 1. значение с mobile=+71112223344 и email=test@test.ru 2. только значение с mobile=+71112223344 3. только значение с email=test@test.ru и если mobile и / или email который нужно вставить в users есть в базе то возвратить id записи или false а если mobile и / или email нет, то вставить новую запись ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2017, 10:36 |
|
sql insert if not exists
|
|||
---|---|---|---|
#18+
sql_dev543сейчас вставляем данные в базу командой insert into users (mobile,email) values ('+71112223344', 'test@test.ru') как будет выглядеть команда которая при вставке сразу же проверит одновременно 3 условия есть ли в users 1. значение с mobile=+71112223344 и email=test@test.ru 2. только значение с mobile=+71112223344 3. только значение с email=test@test.ru и если mobile и / или email который нужно вставить в users есть в базе то возвратить id записи или false а если mobile и / или email нет, то вставить новую запись А если есть и email и mobile но id разные то чего возвращать? PS: а вообще хранимку для такого писать надо. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2017, 10:46 |
|
sql insert if not exists
|
|||
---|---|---|---|
#18+
Maxim Boguk, false ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2017, 10:48 |
|
sql insert if not exists
|
|||
---|---|---|---|
#18+
sql_dev543, это смотря какая бабель. т.е. если вы (или сервер приложения) работаете с этой табличкой строго в один поток -- то что-то типа Код: sql 1. 2. 3.
но поскольку гарантированная однопоточность -- редкость -- то надо писать хранимочку, думается. с обработкой исключений, подаренных конкурентными вставками/удалениями. Вряд ли мердж вас тут спасёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2017, 11:12 |
|
|
start [/forum/topic.php?fid=53&fpage=77&tid=1996652]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 140ms |
0 / 0 |