Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Двойной INSERT (http://forum.oszone.net/showthread.php?t=237571)

cibin 29-06-2012 21:29 1943009

Двойной INSERT
 
Есть Таблица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 1943488

Если говорить проще то мне нужно определить переменную как максимальное id первой таблицы! Как это сделать!

Нашёл такой скрипт:
PHP код:

SELECT `idFROM `tableORDER BY `idDESC LIMIT 1 

Я написал таким образом:
PHP код:

$tt=mysql_query(SELECT `idFROM `tableORDER BY `idDESC LIMIT 1

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

PhilB 30-06-2012 22:49 1943558

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

Delirium 05-07-2012 06:56 1946154

1. Insert
2. Select MAX(id) from table1
3. Insert с найденным MAX(id)

cibin 06-07-2012 08:58 1946925

Хоть я и решил вопрос давно и поставил метку о решении, всё равно огромное спасибо!


Время: 18:56.

Время: 18:56.
© OSzone.net 2001-