【发布时间】:2019-03-17 23:02:01
【问题描述】:
我正在使用带有 SublimeLinter-contrib-sqlint 插件的 Sublime Text,并按照 https://dev.mysql.com/doc/refman/8.0/en/examples.html 上的教程示例进行操作,其中一个包含以下内容:
CREATE TABLE shop (
article INT(4) UNSIGNED ZEROFILL DEFAULT '0000' NOT NULL,
dealer CHAR(20) DEFAULT '' NOT NULL,
price DOUBLE(16,2) DEFAULT '0.00' NOT NULL,
PRIMARY KEY(article, dealer));
INSERT INTO shop VALUES
(1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),
(3,'C',1.69),(3,'D',1.25),(4,'D',19.95);
在启用 linter 的 Sublime Text 中,我看到一个语法错误:
如果我将鼠标悬停在它上面,它只会显示“错误:“(””附近的语法错误。但是,它似乎作为批处理输入运行良好:
mysql> source shop.sql
Query OK, 0 rows affected (0.07 sec)
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0
mysql>
知道什么可能导致这种“误报”语法错误吗?
【问题讨论】:
-
int通常不需要长度,但 MySQL 确实允许。所以,这是 MySQL 特有的东西。
标签: mysql sql sublimetext3 sublimelinter