SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 05.04.2016 18:12:06

kirito
Участник
Зарегистрирован: 05.04.2016
Сообщений: 4

помогите с построением запроса

здравствуйте, подскажите как правильно сделать запрос, в mysql в первые, есть две таблицы с регистрацией пользователей для сайта и для форума, как их соединить, что бы при регистрации на сайте автоматом прописывался и на регистрации форума?

Неактивен

 

#2 05.04.2016 18:29:26

klow
Старожил
Зарегистрирован: 06.12.2014
Сообщений: 411

Re: помогите с построением запроса

Думаю, данный вопрос не имеет никакого отношения MySql. Предлагаю обратиться за помощью на форум по поддержке ПО вашего форума.

Неактивен

 

#3 05.04.2016 18:35:59

kirito
Участник
Зарегистрирован: 05.04.2016
Сообщений: 4

Re: помогите с построением запроса

но есть же такая возможность, что бы колонки в таблицах дублировали записи, я очень плохо знаю mysql, но где то читал, очень давно о подобном, к сожалению найти не могу тот сайт.

Отредактированно kirito (05.04.2016 18:36:18)

Неактивен

 

#4 05.04.2016 18:39:56

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите с построением запроса

надежный способ внести изменения программный код сайта, чтобы отправлялся второй insert в таблицу форума

средствами mysql это можно решить через триггер, чтобы при добавлении записи в таблицу сайта добавлялась запись в таблицу форума

delimiter //
create trigger `имя триггера` after insert on `таблица сайта`
for each row begin
insert into `таблица форума` (`столбец1`, `столбец2`, ..) values(new.`столбец1`, new.`столбец2`, ...);
end//

Неактивен

 

#5 05.04.2016 18:45:38

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите с построением запроса

если вам нужно, чтобы данные при обновлении/удалении были взаимосвязаны, то нужны будут триггеры и на update/delete

и если нужна обратная совместимость (например, еси юзер меняет пароль через интерфейс форума), то нужны будет триггеры на таблицу форума

Неактивен

 

#6 05.04.2016 18:47:38

kirito
Участник
Зарегистрирован: 05.04.2016
Сообщений: 4

Re: помогите с построением запроса

спасибо, буду пробовать

Неактивен

 

#7 05.04.2016 19:02:08

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите с построением запроса

кстати, у вас таблицы регистрации для сайта и форума будут полностью идентичны по структуре и содержанию?

Неактивен

 

#8 05.04.2016 19:04:37

kirito
Участник
Зарегистрирован: 05.04.2016
Сообщений: 4

Re: помогите с построением запроса

нет, они разные, но нужно тока две колонки совместить, логин и пароль, тут есть какие то подводные камни?

Неактивен

 

#9 05.04.2016 19:16:08

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: помогите с построением запроса

нужно быть внимательным с тем что пишется в остальных полях по умолчанию.

например, пусть в таблице форума есть поле active (активирован юзер или нет)
в триггере из таблицы сайта вы возьмете значения логина и пароля
если в явном виде в триггере вы не укажите значения поля active, то может получиться, что по умолчанию будет записано "нет", в то время как вы не ожидали такой подляны.

Неактивен

 

#10 05.04.2016 19:36:41

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: помогите с построением запроса

Триггер можно сделать, который при вставке в одну таблицу будет вставлять другую, можно хранимую процедуру написать и ее вызывать вместо инсерта при регистрации на сайте.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#11 05.04.2016 19:44:08

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: помогите с построением запроса

Все обсуждаемые решения допускают рахождение данных в двух таблицах. В какой-то момент может оказаться, что кто-то есть в одной таблице, но отсутствует в другой. Этот человек потребует техподдержку или разочаруется в сайте. Лучше всего переделать архитектуру приложения так, чтобы была только одна таблица пользователей (например, от форума).

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson