2011-10-15 32 views
1

如何解決這個問題?
我的表結構:mysql使用BTREE

CREATE TABLE IF NOT EXISTS `tbl_foster_network` (
    `network_id` int(11) NOT NULL COMMENT 'Network ID', 
    `network_name` varchar(64) NOT NULL COMMENT 'Network Name', 
    `network_domain` varchar(45) NOT NULL COMMENT 'Network Domain', 
    `created_when` datetime NOT NULL COMMENT 'Created When', 
    `last_modified_by` int(11) NOT NULL COMMENT 'Last Modified By', 
    `last_modified_when` datetime NOT NULL COMMENT 'Last Modified When', 
    PRIMARY KEY (`network_id`), 
    UNIQUE KEY `network_domain` (`network_id`,`network_name`,`network_domain`) USING BTREE 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Network'; 

錯誤

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 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Network'' at line 16 

回答

0

的指數型(USING BTREE)必須出現在列列表前:

UNIQUE KEY uq_network_domain USING BTREE (network_id,network_name,network_domain) 

manual

 
[CONSTRAINT [symbol]] UNIQUE [INDEX|KEY] 
     [index_name] [index_type] (index_col_name,...) 
     [index_option] ... 

index_type: 
    USING {BTREE | HASH} 
+0

好吧,你的意思是不需要「使用BTREE」 – mayasakthi

+0

使用BTREE是默認的,所以是的,它是可選的。 –

+0

謝謝爲我工作得很好.. – mayasakthi

相關問題