我正在執行以下命令行和/或mysql>
提示。如何檢索外鍵和INSERT INTO表(MySQL/InnoDB)
我是DB的新手,注意到結構(教程)和定義(手冊)上有很多網站,但沒有關於實際示例。如果我有兩個表像這樣
CREATE TABLE IF NOT EXISTS owner
(
ID INT NOT NULL AUTO_INCREMENT,
name VARCHAR(32) NOT NULL UNIQUE,
PRIMARY KEY(ID)
)ENGINE=InnoDB
CREATE TABLE IF NOT EXISTS dog
(
ID INT NOT NULL AUTO_INCREMENT,
owner INT NOT NULL,
name VARCHAR(32) NOT NULL UNIQUE,
PRIMARY KEY(ID),
FOREIGN KEY (owner) REFERENCES owner(ID)
)ENGINE=InnoDB
如果我想要添加到表狗
INSERT INTO dog (owner, name) VALUES(get_owner_ID("Peter Griffin"), "Brian Griffin");
如何從名稱(「彼得·格里芬」)獲得神祕的所有者ID
在執行'insert'之前,你必須首先選擇'Peter'id(取決於你的業務邏輯)。 – kan
@ kan這是我迷路的地方。如果我從'owner'中選擇ID =「Peter Griffin」,則它返回一個表,而不是一個int。你如何獲得單一的價值,我在哪裏「存儲」它?我是否會將其用作複合語句 – puk
只需執行兩個單獨的查詢 - 選擇並插入。並檢查是否只返回單個記錄(這意味着只有一個記錄具有name ='Peter')。 – kan