Много често използвана концепция в ситуация като тази е да имате таблица с потребители и таблица за публикации, свързвайки ги заедно с уникален идентификатор. Този идентификатор може да бъде всичко - сериализиран идентификатор, потребителско име, имейл адрес и т.н. - стига да е уникален. Свързването се извършва с помощта на ограничение за външен ключ. Как точно се постига това в MySQL не знам, но в Postgres се прави така:
CREATE TABLE users (
id serial PRIMARY KEY,
name text
);
CREATE TABLE posts (
content text,
user_id integer REFERENCES users(id) NOT NULL
);
След това таблиците се обединяват чрез свързване. Това може да стане по няколко начина, но ето кръстосано присъединяване след вмъкване на някои стойности, с които да играете:
@> INSERT INTO users (name) VALUES ('James');
@> INSERT INTO users (name) VALUES ('Jones');
@> INSERT INTO posts (content, user_id) VALUES ('Hello from James.', 1);
@> INSERT INTO posts (content, user_id) VALUES ('Greetings from Jones.', 2);
@> SELECT U.id AS user_id, U.name, P.content \
FROM users U, posts P \
WHERE U.id = P.user_id;
user_id | name | content
---------+-------+-----------------------
1 | James | Hello from James.
2 | Jones | Greetings from Jones.
YMMV в MySQL, но мисля, че конструкциите по-горе ще работят веднага.
(редактиране:Добавени INSERT за пояснение)