2014-09-01 3 views
1

Я пытаюсь создать таблицу на MySql, в которой указаны команды DATA и INDEX DIRECTORY. Проблема в том, что мой сервер является платиной Windows.MySql (Windows Server) - Создание таблиц в конкретной папке

Когда я пытаюсь:

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 –

+0

Вам также не хватает знака '=' при назначении каталога данных. –

+0

«\» [esacpe chaacter] (http://dev.mysql.com/doc/refman/5.0/ru/string-literals.html), поэтому попробуйте: '... DATA DIRECTORY 'd: \\ Abc '; ' – Rimas

ответ

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

+0

Я работал с «\\». Напротив, аргумент DATA DIRECTORY сохраняет его правильно. Я получаю ответ « игнорируется». Вы знаете, почему? – SammuelMiranda

+0

Это не нужно для InnoDB, потому что файл '.idb' содержит как данные, так и индексы, см. (Http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ibd_file): * Каждый Таблица InnoDB, созданная с использованием режима «файл за стол», переходит в собственный файл табличного пространства с расширением .ibd внутри каталога базы данных. Этот файл содержит данные таблицы и любые индексы для таблицы. Режим «Файл за стол», контролируемый параметром innodb_file_per_table, влияет на многие аспекты использования и производительности хранилища InnoDB и по умолчанию включен в MySQL 5.6.7 и выше. * – VMai

 Смежные вопросы

  • Нет связанных вопросов^_^