1

我已经在 MySQL 中执行了这个查询,但它显示a syntax error near Unique key statement. 有人可以帮我清除错误吗?

      CREATE TABLE IF NOT EXISTS `friends` (
      `Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `providerId` int(10) unsigned NOT NULL DEFAULT '0',
      `requestId` int(10) unsigned NOT NULL DEFAULT '0',
      `status` binary(1) NOT NULL DEFAULT '0', PRIMARY KEY (`Id`),

       UNIQUE KEY `Index_3` (`providerId`,`requestId`),
       KEY `Index_2` (`providerId`,`requestId`,`status`))
       ENGINE=InnoDB  DEFAULT CHARSET=latin1 
       COMMENT='providerId is the Id of the users who wish to be friend with' AUTO_INCREMENT=7 ;

错误信息如下:

ERROR 1064(42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 ''Id'),UNIQUE KEY Index_2(providerId,requestId),KEY Index_3 (providerId,requ' 在第 1 行附近使用正确的语法

4

3 回答 3

2

最后有不必要,

`status` binary(1) NOT NULL DEFAULT '0', PRIMARY KEY (`Id`),
于 2013-09-09T11:23:42.570 回答
0

尝试将关键词PRIMARY KEY ('Id')放在第一列,之后... AUTO_INCREMENT,如下所示:

CREATE TABLE IF NOT EXISTS `friends` (
       `Id` int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
      `providerId` int(10) unsigned NOT NULL DEFAULT '0',
      `requestId` int(10) unsigned NOT NULL DEFAULT '0',
      `status` binary(1) NOT NULL DEFAULT '0',

       UNIQUE KEY `Index_3` (`providerId`,`requestId`),
       KEY `Index_2` (`providerId`,`requestId`,`status`))
       ENGINE=InnoDB  DEFAULT CHARSET=latin1 
       COMMENT='providerId is the Id of the users who wish to be friend with' AUTO_INCREMENT=7 ;
于 2013-09-09T11:53:57.207 回答
-1
INSERT INTO Carttable  (id unique,date,title,supplier,item_price,item_qty,author,author_image,image,image2,image3,categories,categories_id,main_category_id,tags,post_data,views,status,item_status,discount,offer_price,qty_1,price_1,offer_price_1,qty_2,price_2,offer_price_2,qty_3,price_3,offer_price_3,mcid) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
于 2019-06-21T04:32:43.073 回答