Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Помогите разобраться с IDшками

Ответить
Настройки темы
MySQL - Помогите разобраться с IDшками

Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


вот у меня намечается база с двумя таблицами, в одной таблице лежат данные юзера - типа пароль, логин, имя, адресс проживания и еще одно поле ID которая автоинкремент имеет и является примари ключем плюс еще какие-то индексы которые я связал с этими полями кроме ID(зачем так много всяких индексов ХЗ). в другой таблице хранятся его сообщения.
что мне нужно сделать что бы связать его данные с его сообщениями ? то есть связать эти таблицы, это надо мне получать ключ новой записи, то есть ID который примари кей и дописывать его в таблицу которая содержит сообщения юзера?

Отправлено: 13:41, 08-09-2011

 

Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


У вас в таблице cooбщений должна быть поле id_user, являющимся внешним ключом к таблице пользователей.

И вообще, расставьте в сообщении запятые и большие буквы. Еле прочитал.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:36, 08-09-2011 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Аналогично, пока понял, что нужно, 2 раза перечитал. Задача тривиальна, обыкновенный запрос на выборку при условии наличия внешнего ключа во второй таблицы.
Пример:
1-ая таблица USER
2-ая таблица DATA

структура второй таблицы:
USER_ID, сообщение


текст запроса
Код: Выделить весь код
select user.*, data.сообщение from USER, DATA where user.id = data.user_id

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:35, 09-09-2011 | #3


Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо, попробую ! но еще будут вопросы !)

Отправлено: 06:25, 09-09-2011 | #4


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


almadan, следующие вопросы облекай в более грамотную форму, не забывая расставлять знаки препинания. В противном случае вопросы будут перемещены в тест-форум до окончания изучения правил форума и русского яыка.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:41, 09-09-2011 | #5


Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


еще вот вопрос: если сообщений у пользователя много разных, как и где их хранить в базе и как к ним обращаться ? учитывая что там не один пользователь...

Отправлено: 15:39, 11-09-2011 | #6


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


а в чем проблема? приведенная выше структура как раз эту задача и выполняет. Таблица с ID пользователя, своим собственным ID(счетчик), и поле для текста сообщений.
Что значит - обращаться? Искать их поиском, учитывая ID пользователя:
Код: Выделить весь код
select * from DATA where user_id=25
или по тексту сообщения:
Код: Выделить весь код
select * from DATA where user_id=25 and сообщение like '%часть сообщения%'

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 00:53, 12-09-2011 | #7


Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


ну я понял так, там будет таблица которая будет содержать неизменяемый ИД, который будет браться из таблицы с ЮЗЕРАМИ, потом будет поле которое уже будет содержать уникальные ИД относящиеся к тем или иным сообщениям.
к примеру ЮЗЕР имеет уникальный ключ у себя 1001 и имеет 5 сообщений, в базе это будет выглядеть примерно так:

1001 0001 "первое сообщение !"
1001 0002 "второе сообщение !"
1001 0003 "третье сообщение !"
1001 0004 "четвертое сообщение !"
1001 0005 "пятое сообщение !"

да ???
и когда надо будет получить все сообщения юзера, придется получать количество всех имеющихся одинаковых ключей то есть 1001 в данном случае, а потом как-то через этот ключ выбирать сообщения уже по их уникальным ключам.
если я себе представил схему то как с такой схемой работать ? то есть выбрать все поля с одинаковым ключем, а потом по данному ключу выбрать все имеющиеся уникальные ключи сообщений. то есть либо там сразу все сообщения в массив будут выгружаться либо можно по определенным ключам выбирать определенные сообщения ?
вот если я в этом разберусь, то больше донимать вас не будут )

Отправлено: 06:45, 12-09-2011 | #8


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата almadan:
и когда надо будет получить все сообщения юзера, придется получать количество всех имеющихся одинаковых ключей то есть 1001 в данном случае, а потом как-то через этот ключ выбирать сообщения уже по их уникальным ключам. »
Цитата Delirium:
select * from DATA where user_id=1001 and сообщение like '%сообщение%' »
Читай азы SQL, к примеру портал SQL.RU очень познавателен в этом плане.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:46, 12-09-2011 | #9


Новый участник


Сообщения: 37
Благодарности: 0

Профиль | Отправить PM | Цитировать


ага вроде чуть чуть понял
select * from DATA where user_id=1001 and сообщение like '%сообщение%'

Отправлено: 06:13, 13-09-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Помогите разобраться с IDшками

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Proxy/NAT - Помогите разобраться twinzzz75 Сетевые технологии 2 20-05-2011 08:49
Router - Помогите разобраться! trail Сетевое оборудование 15 22-07-2008 01:57
CMD/BAT - Помогите разобраться... LooTer Скриптовые языки администрирования Windows 1 21-07-2008 06:48
Помогите разобраться Degrimort Видеокарты 12 26-12-2007 17:46
Помогите разобраться sturmfogel Программирование и базы данных 1 27-01-2003 13:53




 
Переход