2016-12-29 58 views
0

通過命令行執行SQL時發生錯誤。問題是什麼?語法看起來好像沒有錯。我該怎麼辦?MySQL創建表命令發生錯誤1064(42000)

[[email protected] bin]# mysql -u dubbom -D dubbomonitor -p -t </tmp/create.sql 
Enter password: 
ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE, 
    KEY `index_method` (`method`) USING BTREE, 
    KEY `index_invoke_da' at line 17 

[[email protected] bin]# cat /tmp/create.sql 
use dubbomonitor; 
DROP TABLE IF EXISTS `dubbo_invoke`; 
CREATE TABLE `dubbo_invoke` (
    `id` varchar(255) NOT NULL DEFAULT '', 
    `invoke_date` date NOT NULL, 
    `service` varchar(255) DEFAULT NULL, 
    `method` varchar(255) DEFAULT NULL, 
    `consumer` varchar(255) DEFAULT NULL, 
    `provider` varchar(255) DEFAULT NULL, 
    `type` varchar(255) DEFAULT '', 
    `invoke_time` bigint(20) DEFAULT NULL, 
    `success` int(11) DEFAULT NULL, 
    `failure` int(11) DEFAULT NULL, 
    `elapsed` int(11) DEFAULT NULL, 
    `concurrent` int(11) DEFAULT NULL, 
    `max_elapsed` int(11) DEFAULT NULL, 
    `max_concurrent` int(11) DEFAULT NULL, 
    PRIMARY KEY (`id`), 
    KEY `index_service` (`service`) USING BTREE, 
    KEY `index_method` (`method`) USING BTREE, 
    KEY `index_invoke_date` (`invoke_date`) USING BTREE, 
    KEY `index_invoke_time` (`invoke_time`) USING BTREE 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; 
+2

你使用的是哪個版本的mysql? –

+0

我的同事安裝了MySQL 5.1,我知道問題在哪裏,謝謝。 – Tan

+0

@譚是什麼問題?您可以將其作爲答案發布 – jophab

回答

0

MySQL版本太舊,某些高版本的語法不受支持。

謝謝你,@Wes Doyle