如何在mysql 中建立有關聯關係的表

2021-04-13 06:40:21 字數 706 閱讀 5335

昨天在自己做的乙個系統中使用mysql,折騰了半天始終無法建立外來鍵,通過查詢文件最終將問題解決,原來mysql中預設建立的表所使用的儲存引擎為myisam型別,在這種型別的table中建立的外來鍵只起到乙個注釋,提示的作用,對外鍵約束並無實際作用。要建立真正有意義的外來鍵約束,需要建立型別儲存引擎為innodb型別的表。

如:create table parent(id int(3),

name varchar(10)

)type=innodb;

create table children( id int(3) ,

name varchar(10) ,

parent_id int(3),

primary key(id),

index(parent_id),   //為外來鍵手工建立索引

foreign key(parent_id) references parent(id) on delete cascade

)type=innodb;

mysql中建立關聯關係與oracle有所不同,在oracle中只要為字段建立外來鍵即會自動為該字段建立索引,但是在mysql中必須手工為需要建立外來鍵的字段手工建立索引,否則無法建立成功。

另外,我在建使用者表是直接使用user作為表名,雖然該錶建立成功,但是在其子表中建立與其關聯的外來鍵時無法建立成功,後來發現user為系統的關係字。將user表名改為user_info後,子表建立成功。

如何在MySQL中建立超級使用者?

轉原文 感謝阿澤同學幫助 如何在mysql中建立超級使用者?十月25,2018 本指南將引導您完成在mysql中建立新使用者並使其成為具有root使用者訪問資料庫許可權的超級使用者的步驟。1.首先,您必須使用具有create user特權的root使用者登入。執行以下命令以使用密碼建立新使用者 cr...

如何在MySQL中建立資料庫

mysql是一種複雜的程式。它的所有命令必須通過命令列輸入 且它不提供視覺化介面。因此,了解建立和管理資料庫的基本知識將為你節省不少時間並避免不少麻煩。參考以下方法建立乙個儲存了美國各州及其人口數的資料庫。建立資料庫。在mysql命令列中,輸入命令create database 把命令中的替換為你的...

如何在mysql中建立記憶體表 轉

如何在mysql中建立記憶體表 轉 如何建立記憶體表?建立記憶體表非常的簡單,只需註明 engine memory 即可 create table tablename columnname varchar 256 not nul engine memory default charset latin...