
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.03.2015, 11:17:26
|
|||
|---|---|---|---|
|
|||
INSERT так умеет? |
|||
|
#18+
Здравствуйте! В таблице есть поле col_1 AUTO_INCREMENT PRIMARY KEY, и есть еще некое поле col_2 INT, в которое в основном значения вставляются руками, а иногда нужно в него продублировать значение, которое будет создано автоинкрементом для колонки_1. Может ли выполниться команда типа Код: sql 1. Ведь на момент запроса, строка еще не создана и sql вроде как еще не знает, чему равна col_1. Как можно решить такую задачку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 11:39:12
|
|||
|---|---|---|---|
INSERT так умеет? |
|||
|
#18+
lucky89, insert into Table (field1,field2) values (Var1,Var1) приводит к желаемому результату и ничего знать не потребуется. Вы же все равно что-то вставляете? Вообще операция, которую вы запрашиваете в какой-то мере реализована в MS SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 11:40:27
|
|||
|---|---|---|---|
INSERT так умеет? |
|||
|
#18+
lucky89, и насчет автоинкремента - поставьте его на обоих полях с одинаковым стартовым значением. Тут совсем просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 11:45:57
|
|||
|---|---|---|---|
INSERT так умеет? |
|||
|
#18+
Если возникла такая надобность - сразу после вставки выполняйте UPDATE. Либо вынесите логику вставки в процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 12:20:04
|
|||
|---|---|---|---|
|
|||
INSERT так умеет? |
|||
|
#18+
insert into Table (field1,field2) values (Var1,Var1) Ну так не пойдет, я же сам не могу знать какое значение автоинкремента там на подходе. А оно очень важное, так как в будущем оно выступает, как идентификатор созданного пользователя во всех остальных таблицах. Тут пересечений нельзя допустить, а если это в начале проверять, то уже 2 запроса будет, + между этими запросами может зарегаться кто-то еще и опять конфликт. сразу после вставки выполняйте UPDATE. А вот так нормально, но это я и сам придумал) Опять 2 запроса получается. Одним выходит никак не обойтись? Или оно того и не стоит, чтобы вообще задумываться об этом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.03.2015, 14:40:43
|
|||
|---|---|---|---|
|
|||
INSERT так умеет? |
|||
|
#18+
lucky89Опять 2 запроса получается. Одним выходит никак не обойтись? Или оно того и не стоит, чтобы вообще задумываться об этом? Только если процедурой добавлять запись, а в ней типа того: Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1833424]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 351ms |

| 0 / 0 |
