欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql其他字能自增嗎

錢艷冰2年前9瀏覽0評論

MySQL中,除了“id”、“uid”、“gid”等常用的主鍵字段外,還有一些其他的字段能夠自增。例如“order_id”、“article_id”、“task_id”等等,只要在字段定義時加上“auto_increment”關(guān)鍵字,就可以自增了。

CREATE TABLE `order` (
`order_id` int(11) NOT NULL AUTO_INCREMENT,   --自增字段
`user_id` int(11) NOT NULL,
`total_price` decimal(10,2) NOT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`order_id`),
KEY `idx_user_id` (`user_id`),
CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

在以上代碼中,“order_id”字段使用了“auto_increment”關(guān)鍵字,這樣每插入一條記錄時,“order_id”都會自動遞增,不需要手動指定。而其他字段則沒有使用“auto_increment”,需要手動指定值。

需要注意的是,只有主鍵字段才可以使用“auto_increment”關(guān)鍵字。如果在非主鍵字段上使用了“auto_increment”,會導(dǎo)致創(chuàng)建表失敗。

CREATE TABLE `article` (
`article_id` int(11) NOT NULL,
`title` varchar(255) NOT NULL,
`content` text NOT NULL,
`create_time` datetime NOT NULL,
`update_time` datetime NOT NULL,
PRIMARY KEY (`article_id`),
UNIQUE KEY `idx_title` (`title`),
KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `article` CHANGE `article_id` `article_id` int(11) NOT NULL AUTO_INCREMENT;  --會報錯

以上代碼中,在創(chuàng)建“article”表時,“article_id”字段是普通的非主鍵字段,沒有使用“auto_increment”。之后嘗試使用ALTER TABLE命令將其改為自增字段,但是會報錯。

因此,需要在創(chuàng)建表時就確定哪些字段需要自增,并在表定義中加上“auto_increment”關(guān)鍵字。