mysql——非主鍵自增


今天遇到一個問題:

要創建一張表,其中我想將ip和date這兩列作為一個復合主鍵,可以通過如下語句修改表結構:

alter table tb_name add primary key (字段1,字段2,字段3);

但是這樣做會報錯,原因是我在最開始創建表的時候已經將id作為主鍵了,因此要先取消id的主鍵(取消之前要先將id的自增去掉,否則無法取消他的主鍵)。

此時這張表已經將ip和date設置為復合主鍵,但我仍然想將ip設為主鍵,此時就會報錯:

emmm 大概意思就是只有key能設置自增,但是這個key並一定是主鍵,按照下面博客修改表結構

https://blog.csdn.net/likika2012/article/details/9951529

CREATE TABLE `single_qps_01` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT,
  `ip` varchar(100) NOT NULL,
  `date` datetime NOT NULL,
  `createTime` datetime DEFAULT NULL,
  `updateTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`ip`,`date`),
  KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

成功啦~!

重置自增id:

alter table `dns_qlb` auto_increment=1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM