Декларация примари кея

[Удален]
667

Ребят, как задекларировать примари кей в mysql при вставке, тоесть пока происходит вставка к скрипту могут обратиться еще раз и он возьмет тот же ключ но надо уже будет брать следующий

Реально ли вообще декларировать в мускуле данные при INSERT?

siv1987
На сайте с 02.04.2009
Offline
427
#1

CREATE table ( `id` int(10) NOT NULL auto_increment,

PRIMARY KEY (`id`)

)

V
На сайте с 05.01.2011
Offline
23
#2

siv1987, мне кажется ты не понят ТС , ему как я понял нужет примари еще до инсерта

O3
На сайте с 17.11.2008
Offline
127
#3

Анекдот,

Вашего сына реально зовут @иван drop table students; --@ ?

siv1987
На сайте с 02.04.2009
Offline
427
#4
veterinar:
ему как я понял нужет примари еще до инсерта

До инсерта неправильно было бы делать, сначала делаем инсерт а потом получаем последний ид текущей сессии через mysql_insert_id() и с ним работаем дальше.

V
На сайте с 05.01.2011
Offline
23
#5
siv1987:
До инсерта неправильно было бы делать, сначала делаем инсерт а потом получаем последний ид текущей сессии через mysql_insert_id() и с ним работаем дальше.

иногда есть ситуации когда необходимо знать до , не знаю какова задача у ТС , я думаю он пояснит

siv1987
На сайте с 02.04.2009
Offline
427
#6
[Удален]
#7

siv1987 Спасибо, сейчас изучу топик

veterinar да в данном случае и есть такая ситуация )

siv1987
На сайте с 02.04.2009
Offline
427
#8
cashmy:
veterinar да в данном случае и есть такая ситуация )

Это случай приведет к тому же результату что в старт-посте.

пока происходит вставка к скрипту могут обратиться еще раз и он возьмет тот же ключ
N
На сайте с 06.05.2007
Offline
419
#9

В этом клиническом случае некоторые заводят еще одну таблицу для уникальности, делают в нее вставку и тут же удаление, тем самым безопасно получая last_insert_id.

В более других субд существуют Последовательности или Генераторы.

Но все-таки стоит пересмотреть логику приложения и подумать как можно вставлять сначала основную запись и избежать ручного указания ключа. Редко когда такое действительно нужно делать.

Кнопка вызова админа ()
V
На сайте с 05.01.2011
Offline
23
#10
cashmy:

veterinar да в данном случае и есть такая ситуация )

я когда была такая необходимость просто разделил id на диапазоны

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий