[英]relational databases and auto incrementing
您好,我正在嘗試為我正在創建的書評系統鏈接兩個數據庫
例如,我有一個書籍表,我也有另一個類別表。
圖書表將存儲所有不同的圖書,並使用genre_id鍵或其他內容使用其所屬類型的外鍵。
當我查詢類型時,我希望它顯示該類型中有多少本書,例如幻想類型中的2本書。
為此,我需要一個記錄列? 但是,當添加或刪除新記錄時,如何進行自動遞增/刪除?
編輯:
哇,謝謝您這么快的幫助,所以我知道我不需要單獨的記錄表,但是說我希望它可以與此一起使用
function all_get() {
$this->load->database();
$sql = 'SELECT * FROM books;';
$query = $this->db->query($sql);
$data = $query->result();
$this->response($data, 200);
}
我將如何查詢以顯示每種類型的記錄,而不是分別顯示所有單獨的書?
您不需要記錄列。 您可以查詢與每種流派相關的書籍數量:
SELECT count(*) FROM Book WHERE genre_id = :genreId;
順便說一句,在您開始之前,您可能需要重新考慮您的實體關系。 類型<->書真的是1:n嗎?
編輯:我可能會誤解了,起初我以為這實際上是兩個獨立的問題-一個關於創建自動遞增主鍵,另一個關於如何顯示每種類型的書數。
在顯示每種流派的書籍數量以及流派名稱時,我認為您正在尋找以下內容:
SELECT g.genreName, count(*) from books b
JOIN genres g on g.ID = b.genreID
GROUP BY g.genreName
SQL小提琴: http ://sqlfiddle.com/#!2 / a3c45e / 2
正如其他人已經評論過的那樣,您不需要單獨的記錄表,但是如果您仍然需要有關自動遞增主鍵的幫助,這是W3學校的最基本示例:
CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.