私は現在、楽しみと学習のためだけに、小さな Web サービスを作ろうとしています。(最近、プログラミングを実践的に学び始めました。)サービスはtwitterのようなものです。ユーザーは友達をフォローしてステータスを取得します。
リレーショナルデータベースについて質問です。
「ユーザー」、「フレンドシップ」、「ステータス」の 3 つのテーブルがあります。これらのテーブルがどのように見えるかを説明するコードを次に示します。
create table user (
id int unsigned auto_increment primary key,
username varchar(16) not null,
password varchar(255) not null,
created datetime default null
);
create table friendship (
id int unsigned auto_increment primary key,
userid int not null,
friend int not null,
created datetime default null
);
create table status (
id int unsigned auto_increment primary key,
userid int not null,
current_status int not null,
created datetime default null
);
「user.id」は「friendship.userid」および「status.userid」と同じです。
・状況は、
1、ユーザーがログインし、友人のステータス番号を取得します。
2、php はユーザーの ID を取得し、友人のユーザー ID、ユーザー名、ステータス、および (ステータスの) 作成済みを検索します。
私はいくつかのSQL文を試しましたが、うまくいきませんでした。
スーパーSQLライターは正しいSQLを表示できますか?
乾杯!
編集済み 1;
私はこのようにSQLを試しました;
select userid, username, current_status, created
from status
join users u1
on u1.id = status.userid
join friendship
on friendship.friend = u1.id
join user u2
on u2.id =friendship.userid
where u2.id = "the user's id from php";
そして、mysql はこの「#1146 - テーブル 'Application.user' が存在しません」をスローします。