Ett mycket ofta använt koncept i situationer som denna är genom att ha en användartabell och en posttabell, länka samman dem med en unik identifierare. Denna identifierare kan vara vad som helst - ett serialiserat id, ett användarnamn, e-postadress, etc - så länge den är unik. Länkning görs med hjälp av en främmande nyckel-begränsning. Exakt hur detta uppnås i MySQL vet jag inte, men i Postgres görs det så här:
CREATE TABLE users (
id serial PRIMARY KEY,
name text
);
CREATE TABLE posts (
content text,
user_id integer REFERENCES users(id) NOT NULL
);
Tabellerna slås sedan samman med en join. Detta kan göras på flera sätt, men här är en korskoppling efter infogning av några värden att leka med:
@> 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 i MySQL, men jag tror att konstruktionerna ovan kommer att fungera direkt.
(edit:Lade till INFOGA för förtydligande)