Ja du kan. Du skal bare gøre den kolonne til et indeks.
CREATE TABLE `test` (
`testID` int(11) NOT NULL,
`string` varchar(45) DEFAULT NULL,
`testInc` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`testID`),
KEY `testInc` (`testInc`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
insert into test(
testID,
string
)
values (
1,
'Hello'
);
insert into test(
testID,
string
)
values (
2,
'world'
);
Vil indsætte rækker med automatisk stigende værdier for 'testInc'. Dette er dog en virkelig dum ting at gøre.
Du har allerede sagt den rigtige måde at gøre det på:
"Gør comment_id PK og håndhæv integritet gennem et unikt indeks på book_id, timestamp, user_id."
Det er præcis den måde, du skal gøre det på. Ikke alene giver den dig en ordentlig primær nøglenøgle til tabellen, som du skal bruge til fremtidige forespørgsler, den opfylder også princippet om mindste forbløffelse .