《Mysql入門Mysql 出現the right syntax to use near USING BTREE錯誤解決辦法》要點:
本文介紹了Mysql入門Mysql 出現the right syntax to use near USING BTREE錯誤解決辦法,希望對您有用。如果有疑問,可以聯系我們。
- CREATE?TABLE?`message_info_tbl`?(?
- ??`id`?int(10)?unsigned?NOT?NULL?AUTO_INCREMENT,?
- ??`phone`?varchar(12)?DEFAULT?NULL?COMMENT?'手機號',?
- ??`code`?varchar(20)?NOT?NULL?COMMENT?'驗證碼',?
- ??`ip`?varchar(15)?NOT?NULL,?
- ??`create_at`?int(10)?NOT?NULL?COMMENT?'發送時間',?
- ??`used_state`?enum('yes','no')?NOT?NULL?DEFAULT?'no'?COMMENT?'是否使用',?
- ??`type`?enum('find','register')?NOT?NULL?DEFAULT?'register'?COMMENT?'作用類型',?
- ??`client_type`?enum('app','pc','wap')?NOT?NULL?DEFAULT?'pc'?COMMENT?'客戶端類型',?
- ??PRIMARY?KEY?(`id`),?
- ??KEY?`phone`?(`phone`)?USING?BTREE,?
- ??KEY?`code`?(`code`)?USING?BTREE,?
- ??KEY?`used_state`?(`used_state`)?USING?BTREE,?
- ??KEY?`ip`?(`ip`)?USING?BTREE,?
- ??KEY?`tl`?(`tl`)?USING?BTREE?
- )?ENGINE=InnoDB??DEFAULT?CHARSET=gbk?COMMENT='信息詳情';?
MYSQL應用錯誤:
?
- PRIMARY?KEY?(`id`),?
- ??KEY?`phone`?(`phone`)?USING?BTREE,?
- ??KEY?`code`?(`code`)?USING?BTREE,?
- ??KEY?`used_state`?(`used_state`)?USING?BTREE,?
- ??KEY?`ip`?(`ip`)?USING?BTREE,?
- ??KEY?`tl`?(`tl`)?USING?BTREE?
- )?ENGINE=InnoDB??DEFAULT?CHARSET=gbk?COMMENT='驗證信息';?
- [Err]?1064?-?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?`code`?(`code`)?USING?BTREE,?
- ??KEY?`used_s?
MYSQL應用因為mysql新版本的USING BTREE語法與老版本有些不同(mysql5.14前后)
我們只需要將文件中的形如:
KEY `code` (`code`) USING BTREE
改為
KEY `code` USING BTREE(`code`)
意外:
如果改了之后還不起作用,則需要查看你的MySQL版本了,通過命令select version(); 查看,我的MySQL版本為 4.0.27經典版的, 所以,使用以上的方法還不能解決問題,所以,就要用最原始的方法,去掉USING BTREE關鍵字,并且SQL語句里邊不能有字段注釋comments,所以,低版本MySQL的語句為下面這樣的:
?
- mysql>?select?version();??
- +-----------+??
- |?version()?|??
- +-----------+??
- |?4.0.27?|??
- +-----------+??
- 1?row?in?set?(0.12?sec)??
MYSQL應用Mysql 低版本語句:
?
- CREATE?TABLE?`message_info_tbl`?(?
- `id`??int(10)?UNSIGNED?NOT?NULL?AUTO_INCREMENT?,?
- `phone`??varchar(12)?NULL?DEFAULT?NULL?,?
- `code`??varchar(20)?NOT?NULL?DEFAULT?''?,?
- `ip`??varchar(36)?NOT?NULL?DEFAULT?''?,?
- `used_state`??enum('yes','no')?NOT?NULL?DEFAULT?'no'?,?
- `type`??enum('find','register')?NOT?NULL?DEFAULT?'register'?,?
- `client_type`??enum('pc','app','wap')?NOT?NULL?DEFAULT?'pc'?,?
- `create_at`??int(10)?UNSIGNED?NOT?NULL?DEFAULT?0?,?
- PRIMARY?KEY?(`id`),?
- INDEX?`phone`?(`phone`),?
- INDEX?`code`?(`code`),?
- INDEX?`used_state`?(`used_state`),?
- INDEX?`ip`?(`ip`)?
- )?
- TYPE=InnoDB?
- ROW_FORMAT=DYNAMIC?
- ;?
MYSQL應用
OK ,這樣就可以解決 USING BTREE錯誤了~
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/5730.html