Of course, sorry totally stupid should I recognised that.

Thanks
Neil

On Wed, Oct 13, 2010 at 3:46 PM, Krishna Chandra Prajapati <
prajapat...@gmail.com> wrote:

> Hi Neil,
>
> Yes, primary key is always unique.
>
> In your case, you are using composite key (players_id,default_teams_id).
>
> _Krishna
>
> On Wed, Oct 13, 2010 at 8:07 PM, Tompkins Neil <
> neil.tompk...@googlemail.com> wrote:
>
>> I've the following table.  But why isn't the primary key unique, e.g.
>> preventing duplicates if entered ?
>>
>> CREATE TABLE `players_master` (
>>
>>  `players_id` bigint(20) NOT NULL AUTO_INCREMENT,
>>  `default_teams_id` bigint(20) NOT NULL,
>>  `first_name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
>>  `second_name` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
>>  `known_as` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
>>  `dob` date NOT NULL,
>>  `countries_id` char(2) COLLATE utf8_unicode_ci NOT NULL,
>>  `retirement_date` date DEFAULT NULL,
>>  `positions_id` varchar(3) COLLATE utf8_unicode_ci NOT NULL,
>>  `estimated_value` double NOT NULL DEFAULT '0',
>>  `contract_wage` double NOT NULL DEFAULT '0',
>>  `rating` int(11) NOT NULL,
>>  PRIMARY KEY (`players_id`,`default_teams_id`),
>>  KEY `FK_players_master_countries_id` (`countries_id`),
>>  KEY `FK_players_master_positions_id` (`positions_id`),
>>  KEY `IDX_first_name` (`first_name`),
>>  KEY `IDX_known_as` (`known_as`),
>>  KEY `IDX_second_name` (`second_name`),
>>  KEY `IDX_dob` (`dob`),
>>  KEY `IDX_estimated_value` (`estimated_value`),
>>  KEY `IDX_contract_wage` (`contract_wage`),
>>  KEY `IDX_rating` (`rating`),
>>  KEY `FK_players_master_teams_id` (`default_teams_id`),
>>  CONSTRAINT `FK_players_master_countries_id` FOREIGN KEY (`countries_id`)
>> REFERENCES `countries` (`countries_id`) ON DELETE NO ACTION ON UPDATE NO
>> ACTION,
>>  CONSTRAINT `FK_players_master_positions_id` FOREIGN KEY (`positions_id`)
>> REFERENCES `positions` (`positions_id`) ON DELETE NO ACTION ON UPDATE NO
>> ACTION,
>>  CONSTRAINT `FK_players_master_teams_id` FOREIGN KEY (`default_teams_id`)
>> REFERENCES `teams_master` (`teams_id`) ON DELETE NO ACTION ON UPDATE NO
>> ACTION
>> ) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8
>> COLLATE=utf8_unicode_ci
>>
>> I'm confused, I thought primary keys were always unique ?
>>
>> Cheers
>> Neil
>>
>
>

Reply via email to