Да иногда тороплюсь печатая свои мысли!
tema 03.09.2005 12:45
С чего все началось:
Один коллега сказал определенный порядок запросов, в котором insert должен следовать после selecta (вроде как для целостности данных)! Согласен логика есть, но откуда это взялось?
Для заполнения связанных таблиц, если нет возможности использовать внутренние процедуры и триггеры (в случае с mysql). Мне необходимо знать ключи из привязанных таблиц и вставлять их в главную. Я применял такой способ: вставляю в дочерние (insert) беру ключи (select max или last_insert_id), вставляю в главную (insert) значения ключей. Насколько велика вероятность, что ключи дочерних таблиц окажутся не те (кто-то чуть позже вставил запись в дочернюю таблицу, одновременный submit)?
Надо ли в этом случае применять commit?
В скрипте ипользуется один ^connect на весь скрипт или это не влияет?
Еще варианты:
- выбирать значение ключа из дочерней таблицы по только что вставленным полям.
- брать из другого источника (UUID или таблицы со всеми последними ключами) значения ключа и вставлять уже с ним.
UUID не хочется применять из-за скорости выборки.
Как сделать лучше или может я создаю проблему на пустом месте?