हाँ आप कर सकते हैं। आपको बस उस कॉलम को एक इंडेक्स बनाना है।
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' के लिए ऑटो-इंक्रीमेंटिंग मानों वाली पंक्तियाँ सम्मिलित करेगा। हालांकि यह वास्तव में एक बेवकूफी भरा काम है।
आपने इसे करने का सही तरीका पहले ही बता दिया है:
"book_id, टाइमस्टैम्प, user_id पर एक अद्वितीय अनुक्रमणिका के माध्यम से comment_id PK बनाएं और अखंडता लागू करें।"
ठीक ऐसा ही आपको करना चाहिए। यह न केवल आपको उस तालिका के लिए एक उचित प्राथमिक कुंजी प्रदान करता है जिसकी आपको भविष्य के प्रश्नों के लिए आवश्यकता होगी, यह कम से कम विस्मय का सिद्धांत ।