我正在考慮一個小型的微博系統,我正在鍛鍊身體。我有三張桌子:與外鍵的微博表關係,追隨者的麻煩?
users
id
username
tweets
id
tweet
followers
id_user
id_following
我如何爲追隨者建立關係? id_user和id_following都是與同一個表相關的PK?
這裏是我的查詢:
CREATE TABLE tweets (
tweet_id INT NOT NULL AUTO_INCREMENT,
tweet VARCHAR(140) NOT NULL,
PRIMARY KEY (tweet_id)
) ENGINE=INNODB;
CREATE TABLE users (
user_id INT NOT NULL AUTO_INCREMENT,
user VARCHAR(255) NOT NULL,
password VARCHAR(40) NOT NULL,
email VARCHAR(255) NOT NULL,
PRIMARY KEY (user_id)
) ENGINE=INNODB;
CREATE TABLE user_tweets (
id INT NOT NULL AUTO_INCREMENT,
id_user INT NOT NULL,
id_tweet INT NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY (id_tweet)
REFERENCES tweets(tweeth_id)
ON UPDATE NO ACTION ON DELETE NO ACTION,
FOREIGN KEY (id_user)
REFERENCES users(user_id)) ENGINE=INNODB;
CREATE TABLE followers (
id_user INT NOT NULL REFERENCES users (user_id),
id_following INT NOT NULL REFERENCES users (user_id),
PRIMARY KEY (id_user, id_following)
) ENGINE=INNODB;
肯定的PK是(id_user,id_following),他們是單獨FKS到同一個表?你有什麼問題? – StevieG
在同一個表中有兩個FK在另一個表中是PK是完全正確的。
– Andrey
請檢查我的sql更新 – OralB