title: How to make a Primary Key NOT UNIQUE MySQL
body: <p>I know a primary key should be unique. 
  But i am creating a database for an estate agency where the post code is the Primary Key for the Address table. But if a property is for sale/rent and it is in a block of flats many properties will have the same post code. 
  How do i make it Not Uniqe whilst keeping the PostCode as the PK?
  thank u </p>
  
  <p>my code so far: </p>
  
  <pre><code>CREATE TABLE `Properties` (
    `PropertyID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
    `Property Type` varchar(20) NOT NULL,
    `PostCode` varchar(8) NOT NULL,
    `Bedrooms` tinyint(2) DEFAULT NULL,
    `Bathrooms` tinyint(2) DEFAULT NULL,
    `Ensuite` tinyint(1) DEFAULT NULL,
    `Kitchen` tinytext,
    `LivingRoom` tinytext,
    `DiningRoom` tinytext,
    `UtilityRoom` tinytext,
    `Conservatory` tinytext,
    `Garage` tinytext,
    `Garden` tinytext,
    `Furnished` tinytext,
    `Type` char(15) NOT NULL,
    PRIMARY KEY (`PropertyID`),
    KEY `Property Type` (`Property Type`),
    KEY `PostCode` (`PostCode`),
    CONSTRAINT `Properties_ibfk_2` FOREIGN KEY (`PostCode`) REFERENCES `Address` (`PostCode`),
    CONSTRAINT `Properties_ibfk_1` FOREIGN KEY (`Property Type`) REFERENCES `PropertyType` (`Property Type`)
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1
  
  
  
  
  
   CREATE TABLE `Address` (
        `PostCode` varchar(8) NOT NULL,
        `HouseN` text NOT NULL,
        `AddL1` varchar(25) NOT NULL,
        `AddL2` varchar(25) DEFAULT NULL,
        `AddL3` varchar(25) DEFAULT NULL,
        `County` char(20) NOT NULL,
        PRIMARY KEY (`PostCode`)
      ) ENGINE=InnoDB DEFAULT CHARSET=latin1
  </code></pre>