2014-04-24 2 views
-2

Может кто-нибудь сказать мне, что случилось?Что случилось с этой командой MySQL?

CREATE TABLE IF NOT EXISTS ifm.LinksTable (
    file_system_id SMALLINT NOT NULL , 
    inode_number BIGINT AUTO_INCREMENT , 
    parent_inode_number BIG INT , 
    virtual_name VARCHAR(256) , 
    UNIQUE INDEX (parent_inode_number, virtual_name, file_system_id), 
    inode_type CHAR(1) , 
    symbolic_link_inode BIGINT DEFAULT 0 , 
    current_version_number SMALLINT DEFAULT 0 , 
    number_of_links_to_file SMALLINT DEFAULT 0 , 
    PATH varchar(1000), 
    dir_level INT , 
    time_last_modified INT , 
    time_last_accessed INT , 
    time_last_changed INT , 
    created_date INT , 
    permissions INT , 
    uid INT , 
    gid INT , 
    deleted_flag CHAR(1) , 
    PRIMARY KEY(file_system_id, inode_number) 
); 

Ошибка:

ERROR 1064 (42000): У вас ошибка в вашем SQL синтаксиса; проверить руководство, которое соответствует Вашей версии сервера MySQL для правого синтаксиса использовать вблизи 'BIG INT, virtual_name VARCHAR (256), UNIQUE INDEX (parent_inode_number, Virtua' в строке 1

Пожалуйста, обратите внимание, что я я новичок в команде MySQL, хотя понять SQL.

Это, как MySQL DEF файл выглядит, к которому я добавить уровень Aand путь

cat ifmLinksTable.mysqldef 
file_system_id,smallint not null 
inode_number,bigint auto_increment 
parent_inode_number,bigint 
virtual_name,varchar(256) , unique index (parent_inode_number, virtual_name, file_system_id) 
inode_type,char(1) 
symbolic_link_inode,bigint default 0 
current_version_number,smallint default 0 
number_of_links_to_file,smallint default 0 
time_last_modified,int 
time_last_accessed,int 
time_last_changed,int 
created_date,int 
permissions,int 
uid,int 
gid,int 
deleted_flag,char(1), primary key(file_system_id, inode_number) 
+0

Это 'BIGINT' не' BIG INT' –

+1

Форматирование запроса, чтобы оно было удобным для чтения. Но на основании сообщения об ошибке, 'BIGINT' не имеет места в нем. –

+0

Это не проблема, BIG INT или BIGINT нетронутой мной. Ошибка произошла, когда я попытался добавить dir_level и PATH к существующему запросу – kingsmasher1

ответ

0

Он должен быть BIGINT, withou т пространство, но не BIG INT

CREATE TABLE IF NOT EXISTS ifm.LinksTable (
    file_system_id SMALLINT NOT NULL , 
    inode_number BIGINT AUTO_INCREMENT , 
    parent_inode_number BIGINT , 
    virtual_name VARCHAR(256) , 
    UNIQUE INDEX (parent_inode_number, virtual_name, file_system_id), 
    inode_type CHAR(1) , 
    symbolic_link_inode BIGINT DEFAULT 0 , 
    current_version_number SMALLINT DEFAULT 0 , 
    number_of_links_to_file SMALLINT DEFAULT 0 , 
    PATH varchar(1000), 
    dir_level INT , 
    time_last_modified INT , 
    time_last_accessed INT , 
    time_last_changed INT , 
    created_date INT , 
    permissions INT , 
    uid INT , 
    gid INT , 
    deleted_flag CHAR(1) , 
    PRIMARY KEY(file_system_id, inode_number) 
); 
+0

Это не проблема, она не тронута мной. Ошибка произошла, когда я попытался добавить dir_level и PATH к существующему запросу – kingsmasher1

+0

@ kingsmasher1: Ну, эта коррекция была основана на том стеке ошибок, которое вы опубликовали. Другие вопросы не были сообщены вами. Может быть, это произойдет с ошибкой по первичному ключу, когда вы попытаетесь определить составной элемент, который включает в себя поле автоматического приращения, которое недопустимо. –

+0

Вы можете определить как «первичный ключ (inode_number), уникальный ключ (file_system_id, inode_number)» –

0

Я вижу некоторую ошибку: parent_inode_number BIG INT => parent_inode_number BIGINT (только некоторые опечатка ^^), а другой с VARCHAR: УАКСНАК максимальное значение равно 255, так УАКСНАК (256) и VARCHAR (1000) невозможно

Надеюсь, что помогу!

+0

Как вы говорите, что невозможно для varchar 1000? Любая ссылка, ссылки, документы? – kingsmasher1

+0

http://dev.mysql.com/doc/refman/5.0/fr/char.html mysql doc – ekans

+0

Интересно, что они обновили английские страницы руководства на этом (предел теперь 65535), но у них нет потрудился обновить страницу руководства по французскому языку. http://dev.mysql.com/doc/refman/5.0/en/char.html – Kickstart

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