2014-09-01 97 views
1

我試圖在MySql上創建一個表,指定DATAINDEX DIRECTORY命令。問題是我的服務器是Windows平臺。MySql(Windows服務器) - 在特定文件夾中創建表

當我嘗試:

CREATE TABLE db.tb (tb_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY) DATA DIRECTORY 'd:\Abc'; 

它給了我一個錯誤。

Error Code: 1210. Incorrect arguments to DATA DIRECTORY 
+0

可能的重複http://stackoverflow.com/questions/12143561/data-directory-mysql – 2014-09-01 19:56:54

+0

您在分配數據目錄時也缺少'='符號。 – 2014-09-01 20:00:08

+0

「\」是[esacpe chaacter](http://dev.mysql.com/doc/refman/5.0/en/string-literals.html),所以請嘗試:'... DATA DIRECTORY'd:\\ Abc ';' – Rimas 2014-09-01 20:21:58

回答

2

你的說法應該是

CREATE TABLE db.tb (
    tb_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY 
) 
ENGINE=InnoDB 
DATA DIRECTORY='d:/Abc'; 

CREATE TABLE db.tb (
    tb_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY 
) 
ENGINE=InnoDB 
DATA DIRECTORY='d:\\Abc'; 

因爲寫在字符串中的反斜槓你得加倍,你失蹤了=也爲賽義德阿里塔奇提到。

您應該檢查innodb_file_per_table配置選項啓用:

SELECT @@innodb_file_per_table; -- should return 1 

Documentation

注:

在InnoDB中INDEX DIRECTORY的情況下,將不再需要,因爲.idb文件包含數據和索引,see manual

使用文件按表格模式創建的每個InnoDB表會在數據庫 目錄內進入其 自己的表空間文件,其擴展名爲.ibd。該文件包含表格數據和 表格的所有索引。由innodb_file_per_table 選項控制的文件按表模式影響InnoDB存儲使用情況和性能的許多方面, 並且在MySQL 5.6.7和更高版本中默認啓用。

+0

我現在試一試,並回答它是否有效。 – SammuelMiranda 2014-09-02 11:20:21

+0

我曾與「\\」合作過。另外,DATA DIRECTORY參數正確保存,我收到「選項忽略」的響應。你知道爲什麼嗎? – SammuelMiranda 2014-09-02 12:10:19

+0

InnoDB不需要,因爲'.idb'文件同時包含:數據和索引,請參閱(http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ibd_file):*每個使用file-per-table模式創建的InnoDB表進入它自己的表空間文件,其數據庫目錄中的擴展名爲.ibd。該文件包含表格數據和表格的所有索引。由innodb_file_per_table選項控制的文件按表模式影響InnoDB存儲使用情況和性能的許多方面,並且默認情況下在MySQL 5.6.7和更高版本中啓用* – VMai 2014-09-02 14:25:08

相關問題