簡體   English   中英

如何在MYSQL中添加一對一關系?

[英]How do I add a one-to-one relationship in MYSQL?

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| pid   | varchar(99) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
1 row in set (0.00 sec)


+-------+---------------+------+-----+---------+-------+
| Field | Type          | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| pid   | varchar(2000) | YES  |     | NULL    |       |
| recid | varchar(2000) | YES  |     | NULL    |       |
+-------+---------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

這是我的桌子。 pid只是用戶的ID。 “ recid”是該用戶的推薦歌曲。

我希望列出pid的清單,然后為每個人推薦歌曲。 當然,在我的第二張表中,(pid,recid)是唯一鍵。

如何對此進行一對一查詢?

# retrieve all songs associated to a given user    
SELECT songs.*
FROM user
INNER JOIN songs ON (user.pid = songs.pid)
WHERE user.pid = ?

您可以使用以下查詢創建FK:

ALTER TABLE `foo`
ADD FOREIGN KEY (`bar_id`) REFERENCES `bar` (`id`) ON DELETE RESTRICT ON UPDATE CASCADE

並查看mysql文檔 還要注意,Mysql僅在InnoDB引擎中支持外鍵。

您想使用聯接(內部)來獲取信息。 這是我使用過的參考資料,對您有所幫助。 加入

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM