MySQL中的自增ID是很常見的一種設置,可以方便地區分不同的數據,但是有些時候我們需要手動給ID賦值,或者使用一個不同的字段作為主鍵。那么如何設置一個不是自增的主鍵呢?
CREATE TABLE `users` (
`id` INT(11) NOT NULL,
`username` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
以上是一個最基本的MySQL表結構,其中id字段是主鍵,并設置為自增。如果要改為手動賦值的主鍵,需要注意以下幾點:
1. 在創建表時不要使用AUTO_INCREMENT
CREATE TABLE `users` (
`id` INT(11) NOT NULL,
`username` VARCHAR(255) NOT NULL,
`password` VARCHAR(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
2. 每次插入數據時都需要手動賦值
INSERT INTO `users` (`id`, `username`, `password`) VALUES (1, 'user1', 'pass1');
INSERT INTO `users` (`id`, `username`, `password`) VALUES (2, 'user2', 'pass2');
INSERT INTO `users` (`id`, `username`, `password`) VALUES (3, 'user3', 'pass3');
3. 需要保證ID不重復
以上就是設置MySQL表中非自增主鍵的方法。在實際應用中,可以根據具體需求選擇不同的主鍵設置。