| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
Совмещенные запросы в mySQL
Товарищи, скажите мне, неужели в мускуле нельзя делать совмещенные запросы(запросы из разных таблиц в 1-й БД) на uploade, delete & insert. Я заметил что делать их можно только для select, да и то я был очень огорчен, что в запросе на вывод определенного количества строк(limit *, *) не проходит при запросе из 2 -х таблиц
(( Вот моя ситуация: написал модуль новостей, использует БД для хранения. В БД у меня 2 таблицы, в 1-й таблице хранится индекс,тема, дата, и краткое описание. Во 2-й индекс и полное описание. Сделал так, что если вы писали подробную новость, то появляется ссылка на подробнее, если нет то нет. Но фишка в том, что мне приходится делать 2 запроса, из которых 1-й выводят инфу краткую, а 2-й проверяет есть ли подробное описание. И это не единственный момент где мне приходится это делать. Вообще в мускуле есть такая возможность? С уважением. |
|
|
# 2 | ||
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Запросы отличные от select для нескольких таблиц делать вроде бы нельзя (на 100% не уверен)
Цитата:
Цитата:
Вот когда обновляете таблицу - возможно придется делать два запроса, но это не слишком принципиальные издержки, ведь 90% запросов это select...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
||
|
|
|
|
# 3 | ||
|
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
Цитата:
Цитата:
если в табличке full_news не будет строки, в котором поле id совпадает с аналогичным в short_news, на месте всех значений этой строки будет стоять null.... но мне кажется, что проще перенести это поле в таблицу с новостями и разрешать ему (полю) принимать значение null.
__________________
Nunc est bibendum |
||
|
|
|
|
# 5 |
|
Guest
Сообщения: n/a
|
2is_absent Я тоже использовал конструкцию left join пока мне не понадобилось выводить ограниченное количество сообщенией. При использовании "limit" у меня он просто отказался работать
![]() 1-й запрос: SELECT * FROM description ORDER BY id DESC LIMIT $start, $num; 2-й SELECT * FROM detailed ORDER BY id DESC LIMIT $start, $num; Вот такие дела. С уважением. |
|
|
# 6 |
|
::VIP::
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417
![]() ![]() ![]() |
Drualex
а где там left join? и зачем нужен лимит во втором случае? Код:
create table t1 ( id int unsigned not null auto_increment, primary key (id) ); insert into t1 values(1); insert into t1 values(2); insert into t1 values(3); insert into t1 values(4); insert into t1 values(5); insert into t1 values(6); insert into t1 values(7); insert into t1 values(8); insert into t1 values(9); insert into t1 values(10); insert into t1 values(12); insert into t1 values(13); insert into t1 values(14); insert into t1 values(123); create table t2 ( id int unsigned not null auto_increment, primary key (id) ); insert into t2 values(1); insert into t2 values(2); insert into t2 values(4); insert into t2 values(6); insert into t2 values(8); insert into t2 values(100); select * from t1 left join t2 on t2.id = t1.id limit 0, 4
__________________
Nunc est bibendum |
|
|
|
|
# 7 |
|
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
вот еще есть оганичения внешнего ключа в таблицах innoDB(on delete). но тем не менее возможностей по работе со связными данными в принципе и самих возможностей связи этих самых данных много меньше, чем скажем в Sql Server 2K...
__________________
убрано по просьбе администратора
|
|
|
|
|
# 8 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Кстати в MySQL 4.x появилась возможность удаления сразу из нескольких таблиц.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|