はい、できます。その列をインデックスにする必要があります。
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'
);
'testInc'の値が自動インクリメントされる行を挿入します。しかし、これは本当に馬鹿げたことです。
あなたはすでにそれを行う正しい方法を言っています:
「comment_idPKを作成し、book_id、timestamp、user_idの一意のインデックスを介して整合性を適用します。」
それはまさにあなたがそれをしなければならない方法です。将来のクエリに必要となるテーブルの適切な主キーキーを提供するだけでなく、驚き最小の原則 。