Jo det kan du. Du behöver bara göra den kolumnen ett index.
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'
);
Kommer att infoga rader med automatiskt ökande värden för 'testInc'. Men detta är en riktigt dum sak att göra.
Du har redan sagt det rätta sättet att göra det:
"Gör comment_id PK och framtvinga integritet genom ett unikt index på book_id, timestamp, user_id."
Det är precis så du borde göra. Det ger dig inte bara en korrekt primärnyckel för tabellen som du behöver för framtida frågor, den uppfyller även principen om minsta häpnad .