|
|
|
|
|
для: Trianon
(20.07.2009 в 19:28)
| | Ну туда (table1) вставляются как раз записи у которых уникальный индекс.
Если она по индексу не проходит для вставки, то вставляется только в table2 соответствие запрос-запись которая равна по индексу той, которую вставить не удалось, если же запись уникальна и вставилась - то table2 вставляется опять же соответствие запрос-и ид только что вставленной записи... | |
|
|
|
|
|
|
|
для: itica
(20.07.2009 в 19:22)
| | я про table1 | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2009 в 19:18)
| | Затем в первую таблицу вставляется вторая запись, которая уникальна и еq присваивается id=2, соответственно во вторую таблицу заносится соответствие id_request = 2, id_answer = 2.
---
Или Вы про таблицу один из темы:
http://softtime.ru/forum/read.php?id_forum=3&id_theme=66667&page=1
Если про неё то ненадо - там уже всё готово, непонятка только с таблицами 2и3. | |
|
|
|
|
|
|
|
для: itica
(20.07.2009 в 19:14)
| | То есть в первую таблицу никакие записи добавлять не нужно? | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2009 в 19:01)
| | id_request - это номер запроса, его мы опускаем (можно только сказать что для каждого запроса может быть много ответов).
id_answer - это id записи которые и надо вставить.
Тоесть раньше для запроса 1 нашлась одна запись (ищется не по базе). Потом создали запрос 2 - для него нашлось 2 записи, но при этом одна из них равна по уникальному индексу записи которая нашлась по запросу 1 и уже находится в базе и имеет id=1, поэтому в table2 появляется запись где id запроса = 2, а id записи = 1. Затем в первую таблицу вставляется вторая запись, которая уникальна и еq присваивается id=2, соответственно во вторую таблицу заносится соответствие id_request = 2, id_answer = 2. | |
|
|
|
|
|
|
|
для: itica
(20.07.2009 в 18:55)
| | Согласно какой логике в table2 появились записи (2,1) и (2, 2) - я не понял. | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2009 в 17:18)
| | Поэтому я пишу запрос-запросы, я чисто алгоритмически даже не могу понять как осуществить то что надо без кучи запросов (ну или использую 2-3 запроса, не загоняя их в цикл. | |
|
|
|
|
|
|
|
для: itica
(20.07.2009 в 16:55)
| | Одним INSERT-запросом можно добавить записи лишь в одну таблицу.
Если, конечно, не применять триггеры. | |
|
|
|
|
|
|
|
для: Trianon
(20.07.2009 в 16:25)
| | Допустим у нас есть для начала такой запрос:
INSERT INTO `table1` (`id`,`name`,`surname`,`text`) VALUES ('','Имя1','Фамилия1','Текст1'),('','Имя2','Фамилия2','Текст2');
|
В таблице table1 - уже есть запись '1','Имя1','Фамилия1','Текст1'
В таблице table2 - есть запись с соответствием:
---------------------------------
id_request id_answer
---------------------------------
1 1
При выполнении запроса (запросов) должны получить что в table1 появится запись '2','Имя2','Фамилия2','Текст2'
А table2 превратится в:
---------------------------------
id_request id_answer
---------------------------------
1 1
2 1
2 2
---
Это то что необходимо сделать было.
А вот с чего начать - как изменить первый запрос с использованием ON DUPLICATE KEY UPDATE и что нам это даст никак не пойму... даже если будет какое-то доп.поле, которое будет менять значение... | |
|
|
|
|
|
|
|
для: itica
(20.07.2009 в 16:23)
| | Так я поэтому и спросил у Вас текст запроса.
До конкретного запроса, Вы похоже, еще не допилили. | |
|
|
|
|