2016-01-24 2 views
-2

У меня есть база данных с 2 таблицы:Как подключить две таблицы в базе данных?

Таблица пользователя:

[user_id (pk),username,password,email] 

и

Таблица сообщений:

[post_id (pk),username_posted,post] 

я создал логин регистрацию с первой таблицей, и я хочу, wh ru мой пользователь регистрируется, чтобы опубликовать текст, нажав кнопку. Во второй таблице я хочу сохранить post_id, имя пользователя человека, который выложил, и, конечно же, сообщение, которое он сделал. Как подключить эти две таблицы?

+0

ваша вторая таблица должна быть [post_id (рк), user_id, должность], почему созданием учетных записей пользователей, если вам не использовать их? – WorldSEnder

ответ

0

В реляционной базе данных строки в двух таблицах «связаны» путем хранения общих значений в столбцах.

user: 
user_id username email 
------- -------- ----- 
     5 jack  
     6 jim  
     7 johnny    

post: 
post_id post_username post 
------- ------------- ------- 
    11 jack   hi 
    12 jack   whassup 
    14 johnny   hey 

Строки в этих двух таблиц связаны («соединены») друг с другом, с помощью значений, хранящихся в столбце username и post_username колонке.

(Мы могли бы хранить значение user_id столбца из таблицы user в post таблице, к тому же эффекту. Но мы будем работать со схемой у вас есть.)

В качестве примера того, как добавить новую строку в post таблицы и «подключить», что к существующей строке в user таблицы:

INSERT INTO post (post_id, username, post) 
VALUES (15, 'jim', 'not much'); 
+0

Выходящий за этот ответ ... если бы мы хотели, чтобы база данных выполняла требование о том, чтобы строка, добавленная в таблицу 'post', была связана с строкой в ​​таблице' user', мы использовали бы механизм хранения InnoDB для обеих таблиц , и добавьте ограничение 'NOT NULL' в столбец' post_username', и мы добавим ограничение 'FOREIGN KEY' ...' (post_username) REFERENCES post (имя пользователя) '. В основе всего этого лежит основной принцип реляционной модели: строки связаны друг с другом, сохраняя * общие значения * в столбцах. – spencer7593

Смежные вопросы