Войти

Показать полную графическую версию : [решено] Двойной INSERT


cibin
29-06-2012, 21:29
Есть Таблица1, где есть id, stolbec1, stolbec2, stolbec3
Есть Таблица2, где есть id, id_Таблица1, stolbec1, stolbec2, stolbec3
Мне нужно сделать так что бы когда добавляю через формы информацию в таблицу1, он всё что добавляю добавлял так же и в таблицу2, с условием что:
Таблица1.id=Таблица2.id_Таблица1
Таблица1.stolbec1=Таблица2.stolbec1
Таблица1.stolbec2=Таблица2.stolbec2
Таблица1.stolbec3=Таблица2.stolbec3
Т.е. вся информация первой таблицы переносится в другую в месте с id первой таблицы.
Делаю двойной INSERT, всё работает кроме одного, а именно:
Таблица1.id=Таблица2.id_Таблица1
т.е. id первой таблицы не переносит автоматически в другую согласно связке таблиц. При этом все остальное переносится без проблем!
Я так понял что между INSERT-ами я должен определит переменную которая будет равна той id которая встала в новой записи первой таблицы. Но вот как!?

P.S. Плизз не спрашивать за чем!

cibin
30-06-2012, 20:44
Если говорить проще то мне нужно определить переменную как максимальное id первой таблицы! Как это сделать!

Нашёл такой скрипт:
SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 1

Я написал таким образом:
$tt=mysql_query(SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 1)

Но она не срабатывает!

PhilB
30-06-2012, 22:49
На мой взгляд лучше всего сделать триигер, который будет срабатывать после INSERT и будет заносить данные в другую таблицу.
Проще, но хуже: есть в php фунция типа lastInsertId (забыл точное название, давно на php не пишу), которая возвращает последний добавленный id. То есть сначала первый INSERT, затем получить вставленный id, затем второй INSERT.

Delirium
05-07-2012, 06:56
1. Insert
2. Select MAX(id) from table1
3. Insert с найденным MAX(id)

cibin
06-07-2012, 08:58
Хоть я и решил вопрос давно и поставил метку о решении, всё равно огромное спасибо!




© OSzone.net 2001-2012