日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL存储引擎和外键学习

發(fā)布時(shí)間:2025/4/14 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL存储引擎和外键学习 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

MYSQL有多種存儲(chǔ)引擎,

在創(chuàng)建表的時(shí)候我們使用sql語(yǔ)句,Create table tableName () engine=myisam|innodb;

這就指明了存儲(chǔ)引擎是myisam還是innodb;

SQLServer和Oracle應(yīng)不存在多個(gè)存儲(chǔ)引擎;

MYSQL存儲(chǔ)引擎

InnoDB存儲(chǔ)引擎

Mysql版本>=5.5 默認(rèn)的存儲(chǔ)引擎,MySQL推薦使用的存儲(chǔ)引擎。支持事務(wù),行級(jí)鎖定,外鍵約束。事務(wù)安全型存儲(chǔ)引擎。更加注重?cái)?shù)據(jù)的完整性和安全性。

MyISAM存儲(chǔ)引擎介紹

MySQL<= 5.5 MySQL默認(rèn)的存儲(chǔ)引擎。

ISAM:Indexed Sequential Access Method(索引順序存取方法)的縮寫(xiě),是一種文件系統(tǒng)。

擅長(zhǎng)與處理,高速讀與寫(xiě)。

操作上明顯的區(qū)別是,MyISAM不支持創(chuàng)建外鍵;

如下圖,創(chuàng)建一個(gè)表,指定存儲(chǔ)引擎為InnoDB;

使用下圖語(yǔ)句查看表的存儲(chǔ)引擎;

再建一個(gè)表,使用MyISAM存儲(chǔ)引擎;查看如下,

然后創(chuàng)建test3表,存儲(chǔ)引擎和test1相同;

在test1和test3之間創(chuàng)建外鍵;

然后在test1和test2之間創(chuàng)建外鍵,提示出錯(cuò)如下;

MySQL里創(chuàng)建外鍵時(shí)(Alter table xxx add constraint fk_xxx foreign key),提示錯(cuò)誤,但只提示很簡(jiǎn)單的信息:ERROR 1005 (HY000): Can't create table '.\env_mon\#sql-698_6.frm' (errno: 150)。

ERROR 1005: Can't create table

主要問(wèn)題以及解決辦法是:

1,MySQL支持外鍵約束,并提供與其它DB相同的功能,但表類型必須為 InnoDB

2、建外鍵的表的那個(gè)列要加上index

CREATE TABLE IF NOT EXISTS `test3`(`testid` INT UNSIGNED AUTO_INCREMENT,`title` VARCHAR(100) NOT NULL,`author` VARCHAR(40) NOT NULL,`submission_date` DATE,PRIMARY KEY ( `testid` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;show table status from test where name="test1"; show table status from test where name="test2";

總結(jié)

以上是生活随笔為你收集整理的MySQL存储引擎和外键学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。