|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|
Как при добавление новой записи заполнить сразу все таблицы23.09.2013, 10:09. Показов 2943. Ответов 26
Метки нет (Все метки)
Народ помогите разобраться!
Существует база данных в которой N количество таблиц, из этих таблиц одна главная, а все остальные привязаны к ней через ключ. Вопрос вот в чем как при добавление новой записи заполнить сразу все таблицы. Структура базы такова главная таблица (pid, fname, lname, ....) все остальные аналогичны этой (id, pid, adress, ....), не могу понять как при добавлении новой записи получить PID для всех таблиц кроме главной, т.к. там он присваивается автоматически
0
|
|
| 23.09.2013, 10:09 | |
|
Ответы с готовыми решениями:
26
Добавление новой записи в связанные таблицы Добавление новой записи в две таблицы
|
|
632 / 440 / 67
Регистрация: 19.09.2012
Сообщений: 1,632
|
|
| 23.09.2013, 10:18 | |
|
Посмотрите триггеры Mysql
0
|
|
|
Заблокирован
|
|
| 24.09.2013, 07:12 | |
|
Из текста не ясно каковы отношения. Добавление работае и со связанными таблицами, но если там иерархия то добавление распадается на части: надо добавить родителя, взять его id чтобы добавить в потомка, который сам родитель и тп.
0
|
|
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|
| 24.09.2013, 11:16 [ТС] | |
|
0
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
| 29.09.2013, 23:57 | |
|
Тригеры штука быстрая, но тяжелая в понимании и реализации для новичка. К тому-же могут появиться пробемы при переносе базы.
Я предпочитаю работать в транзакции. Это более.. универсально. Начинаю транзакцию. Добавлять столько "связанных" записей сколько нужно, а потом "фиксировать" результат/транзакцию.
0
|
|
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|
| 30.09.2013, 19:51 [ТС] | |
|
0
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
| 30.09.2013, 20:39 | |
|
Возможно поможет... (лень сочинять простой пример) Транзакции
0
|
|
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
||||||
| 19.11.2013, 15:04 [ТС] | ||||||
|
нашел решение используя функцию
0
|
||||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 20.11.2013, 02:24 | ||
|
0
|
||
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|||||||
| 02.12.2013, 18:16 [ТС] | |||||||
|
может помогите, вот код того что я написал:
Да вот у меня возник еще один вопрос, после применения JQUERY у меня слетеля верстка на EXPLORER (часть где расположен блок с формой ввода теперь не отображается во всю высоту). как это лечить
0
|
|||||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 03.12.2013, 01:32 | ||
|
Суть транзакции в 3х командах (в основном): 1) начать транзакцию - ПЕРЕД любыми командами. Реально в базу ничего не пишется - собирается "в памяти". 2) зафиксировать транзакцию - пишем все сделаные изменения во всех таблицах в базу. 3) отменить транзакцию - передумали и решили ничего не сохранять. ВАЖНО! Следите чтобы транзакция не "забывалась" в открытом состоянии. Преимущества - дикий прирост в скорости, возможность одновременно (за одну операцию) сделать сотню изменений в разные таблицы (пока другие пользователи не вмешались) А дальше - яндекс в помощь (мне лень копать подзабытые исходники в поисках примеров) p.s. JQUERY не пользуюсь (я не дизайнер - рнр мне нужен для мелких автоматизаций и простых отчетов), но с EXPLORER многие не дружат... Добавлено через 1 минуту еще забыл по транзакциям! иногда можно открыть транзакцию в транзакции! не забывайте закрывать обе! Добавлено через 1 минуту смотрите на это как на php-шные скобки {} { } ... { { } }
0
|
||
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|||||||
| 03.12.2013, 15:47 [ТС] | |||||||
|
написал вот так:
да и что-то в первую таблицу перестал заносить ![]() Добавлено через 3 часа 16 минут блин с первой таблицей все нормально все работает, вот только не получается вытянуть PID
0
|
|||||||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 03.12.2013, 18:07 | ||
И подумав, не уверен что я посоветовал тебе правильный подход! (извини - уже 2 месяца в другом языке кодю и РНР не трогаю)до записи транзакции автономер еще не определен. что логично - ты начал транзакцию и я - не известно кто раньше сохранит. Пожалуй правильнее будет сначала добавить первую таблицу, получить номер, а потом в транзакции (так быстрее) добавить остальные записи с полученым номером. ведь все равно номер выделеный для первой записи тебе мне уже не достанется... Добавлено через 1 минуту ...но в случае неудачи добавления транзакции (остальных записей) прийдется удалить первую запись вручную
0
|
||
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
||
| 03.12.2013, 20:06 [ТС] | ||
![]()
0
|
||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 03.12.2013, 22:16 | ||
|
Добавлено через 42 секунды (это чуть сложнее чем $dbh -> rollBack (); echo "Шеф! Фсё пропало : " . $e -> getMessage (); )
0
|
||
|
365 / 372 / 89
Регистрация: 01.12.2013
Сообщений: 1,629
|
|
| 03.12.2013, 22:38 | |
|
0
|
|
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|||
| 03.12.2013, 23:15 [ТС] | |||
|
Добавлено через 6 минут
0
|
|||
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
||
| 04.12.2013, 01:41 | ||
|
А что здесь не понятного? если передумаешь добавлять вторую часть (или ошибка добавления), то 1) откатываешь транзакцию (rollBack) 2) удаляешь запись в таблице1 с номером который ты вычислил при его добавлении (delete from table1 where id=123).
0
|
||
|
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
|
|
| 04.12.2013, 01:44 [ТС] | |
|
0
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|
| 04.12.2013, 01:52 | |
|
Так ты же его вроде вычислил! mysql_insert_id()
И он вроде работает БЕЗ транзакций! Через транзакции добавляй только в те таблицы, где не надо вычислять их номер.
0
|
|
| 04.12.2013, 01:52 | |
|
Помогаю со студенческими работами здесь
20
Добавление новой записи в таблицу и осуществление запроса на добавление при загрузке формы
Возможна ли вставка новой записи в середину таблицы, а не добавление в конец? Как заполнить сразу 2 таблицы в БД SQL? При создании новой записи в форме, заново начинать нумерацию подиненной таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|