2017-05-27 42 views
0

我试图创建一个我从sqlite3的迁移的表,但我不断收到此错误MySQL查询错误1064(4200),但一切似乎罚款

MariaDB [imperial]> CREATE TABLE Show( 
-> `id` int(10), 
-> `name` varchar(255), 
-> `poster_link` varchar(255), 
-> `descriptions` varchar(255), 
-> `genre_tags` varchar(255), 
-> `imdb_link` varchar(255), 
-> PRIMARY KEY(id) 
->); 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Show( 
`id` int(10), 
`name` varchar(255), 
`poster_link` varchar(255), 
`descri' at line 1 

什么想法? 我的继承人完整的查询

CREATE TABLE Show( 
`id` int(10), 
`name` varchar(255), 
`poster_link` varchar(255), 
`descriptions` varchar(255), 
`genre_tags` varchar(255), 
`imdb_link` varchar(255), 
PRIMARY KEY(id) 
); 

是的,我已经检查保留字。

+4

将数据库名称更改为“show”以外的其他名称。 'show'用于'show databases;'或'show columns'等。 – hcheung

回答

1

裹表的名称``因为这是一个关键字:

CREATE TABLE `Show`( 
    `id` int(10), 
    `name` varchar(255), 
    `poster_link` varchar(255), 
    `descriptions` varchar(255), 
    `genre_tags` varchar(255), 
    `imdb_link` varchar(255), 
    PRIMARY KEY(id) 
); 

但作为@hcheung说,这是更好地避免关键字作为对象名称。