Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 12:39 05.07.25 
Клубове/ Компютри и Интернет / Бази данни Пълен преглед*
Информация за клуба
Тема Re: Insert в 2 таблици с една заявка [re: zakysal]
Автор salle (един такъв)
Публикувано21.03.07 01:12  



Стандартно решение няма както wqw ти каза.

За всеки сървър си има съответното решение, но специфично и неработещо при другите.

В MySQL решението е да използваш LAST_INSERT_ID():

INSERT INT t1 .....;

INSERT INTO t2 (t1_id, .... )VALUES(LAST_INSERT_ID() ....


LAST_INSERT_ID() ти гарантира стойността на auto increment вмъкната от текущата сесия дори и да има други паралелно работещи сесии за разлика от MAX(id).


Едно по-генерално решение поне на теория е да заключваш първата таблица за писане, но това също не всеки сървър ще ти го позволи.


Също на теория при максималното ниво на изолация на транзакции (което също варира) би трябвало да можеш да изпълниш:

START TRANSACTION;
SELECT MAX(ID) ...
INSERT ...

и да разчиташ, че нивото на изолация ти гарантира нова стойност MAX+1

Само, че тове е в "сивата област" където обитават фантоми и други подобни.


Изобщо ако ти трябва преносимо решение което да работи независимо от сървъра по-добре се ориентирай към решение от страната на клиентското приложение.

Или още по-добре използвай уникални идентификатори в стил UUID() и подобни

и да е гарантирано, че никой



Цялата тема
ТемаАвторПубликувано
* Insert в 2 таблици с една заявка zakysal   20.03.07 13:18
. * Re: Insert в 2 таблици с една заявка BlandingsCastle   20.03.07 13:33
. * Re: Insert в 2 таблици с една заявка zakysal   20.03.07 14:30
. * Re: Insert в 2 таблици с една заявка wqw   20.03.07 16:14
. * Re: Insert в 2 таблици с една заявка salle   21.03.07 01:12
. * Това което искаш си плаче ro6avia   27.03.07 13:12
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.