3

これがSQLですが、「*#1061-重複したキー名'unique_id'*」というエラーがあります。何が問題なのですか。

create table `users`(
   uid int(11) auto_increment,
   unique_id varchar(23) not null unique,
   name varchar(50) not null,
   email varchar(100) not null unique,
   encrypted_password varchar(80) not null,
   salt varchar(10) not null,
   created_at datetime,
   updated_at datetime null,
  PRIMARY KEY (`unique_id`),
  UNIQUE KEY `uid` (`uid`),
  UNIQUE KEY `unique_id` (`unique_id`),
  UNIQUE KEY `email` (`email`)
)ENGINE=InnoDB AUTO_INCREMENT=877888 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
4

1 に答える 1

13

この行を削除します

UNIQUE KEY `unique_id` (`unique_id`),

unique_idすでにですのでPrimary Key。とPrimary Keysユニークです。

完全なCREATE TABLEステートメント

create table `users`
(
   uid int(11) auto_increment,
   unique_id varchar(23) not null,
   name varchar(50) not null,
   email varchar(100) not null unique,   -- specified here
   encrypted_password varchar(80) not null,
   salt varchar(10) not null,
   created_at datetime,
   updated_at datetime null,
   PRIMARY KEY (`unique_id`),
   UNIQUE KEY `uid` (`uid`)
)  ENGINE=InnoDB AUTO_INCREMENT=877888 
DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
于 2012-12-19T03:13:42.013 に答える