Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Получить ID уникальной записи

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: itica   (20.07.2009 в 19:32)   письмо автору
 
   для: Trianon   (20.07.2009 в 19:28)
 

Ну туда (table1) вставляются как раз записи у которых уникальный индекс.
Если она по индексу не проходит для вставки, то вставляется только в table2 соответствие запрос-запись которая равна по индексу той, которую вставить не удалось, если же запись уникальна и вставилась - то table2 вставляется опять же соответствие запрос-и ид только что вставленной записи...

  Ответить  
 
 автор: Trianon   (20.07.2009 в 19:28)   письмо автору
 
   для: itica   (20.07.2009 в 19:22)
 

я про table1

  Ответить  
 
 автор: itica   (20.07.2009 в 19:22)   письмо автору
 
   для: 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.

  Ответить  
 
 автор: Trianon   (20.07.2009 в 19:18)   письмо автору
 
   для: itica   (20.07.2009 в 19:14)
 

То есть в первую таблицу никакие записи добавлять не нужно?

  Ответить  
 
 автор: 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.

  Ответить  
 
 автор: Trianon   (20.07.2009 в 19:01)   письмо автору
 
   для: itica   (20.07.2009 в 18:55)
 

Согласно какой логике в table2 появились записи (2,1) и (2, 2) - я не понял.

  Ответить  
 
 автор: itica   (20.07.2009 в 18:55)   письмо автору
 
   для: Trianon   (20.07.2009 в 17:18)
 

Поэтому я пишу запрос-запросы, я чисто алгоритмически даже не могу понять как осуществить то что надо без кучи запросов (ну или использую 2-3 запроса, не загоняя их в цикл.

  Ответить  
 
 автор: Trianon   (20.07.2009 в 17:18)   письмо автору
 
   для: itica   (20.07.2009 в 16:55)
 

Одним INSERT-запросом можно добавить записи лишь в одну таблицу.
Если, конечно, не применять триггеры.

  Ответить  
 
 автор: itica   (20.07.2009 в 16:55)   письмо автору
 
   для: 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 и что нам это даст никак не пойму... даже если будет какое-то доп.поле, которое будет менять значение...

  Ответить  
 
 автор: Trianon   (20.07.2009 в 16:25)   письмо автору
 
   для: itica   (20.07.2009 в 16:23)
 

Так я поэтому и спросил у Вас текст запроса.
До конкретного запроса, Вы похоже, еще не допилили.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования