MySQL是一款開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),被廣泛應(yīng)用于各種Web應(yīng)用程序中。其中使用較為廣泛的版本是5.5和5.6,但現(xiàn)在8.x已經(jīng)成為了主流版本。
MySQL的優(yōu)點(diǎn)之一是速度快、應(yīng)用廣泛;其缺點(diǎn)是不太適合大容量數(shù)據(jù)管理,穩(wěn)定性也略遜于Oracle。不過隨著MySQL的不斷更新和升級(jí),這些問題有望得到解決。
下面是一個(gè)MySQL 1286錯(cuò)誤的示例:
mysql>CREATE TABLE my_table ( ->id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, ->name VARCHAR(30) NOT NULL, ->email VARCHAR(50) NOT NULL UNIQUE, ->phone INT(10) NOT NULL ->); ERROR 1286 (42000): Unknown storage engine 'INNODB'
在上面的代碼中,我們想要?jiǎng)?chuàng)建一個(gè)名為my_table的表,包括id、name、email和phone這四個(gè)字段。但是,在執(zhí)行這條SQL語句時(shí),MySQL返回了錯(cuò)誤碼1286,錯(cuò)誤信息是“Unknown storage engine 'INNODB'”。
這個(gè)錯(cuò)誤的原因是MySQL不能識(shí)別指定的存儲(chǔ)引擎。在我們的例子中,INNODB是一種支持事務(wù)處理和外鍵的存儲(chǔ)引擎,但它需要手動(dòng)啟用。因此,在使用INNODB存儲(chǔ)引擎時(shí),需要在MySQL配置文件中明確指定。
要解決這個(gè)問題,我們可以按照以下步驟:
- 編輯mysql配置文件my.cnf。
- 在[mysqld]節(jié)點(diǎn)下添加如下行:
default-storage-engine=InnoDB
- 保存并退出編輯器。
- 重啟MySQL服務(wù)。
完成以上步驟后,我們?cè)俅螆?zhí)行創(chuàng)建表的SQL語句,就不會(huì)再遇到錯(cuò)誤碼1286了。