簡體   English   中英

這個 MySQL 命令有什么問題?

[英]What's wrong with this MySQL command?

有人可以告訴我出了什么問題嗎?

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 服務器版本相對應的手冊,了解在第 1 行的 'BIG INT ,virtual_name VARCHAR(256) , UNIQUE INDEX (parent_inode_number, virtua') 附近使用的正確語法

請考慮我是 MySQL 命令的新手,但了解 SQL。

這就是 MySQL def 文件的樣子,我向其中添加了級別 a 和路徑

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)

它應該是BIGINT ,沒有空間,但不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)
);

我看到一些錯誤:parent_inode_number BIG INT => parent_inode_number BIGINT(只是一些錯字^^),另一個是 VARCHAR:VARCHAR 最大值是 255 所以 VARCHAR(256) 和 VARCHAR(1000) 是不可能的

希望我有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM