MYSQL如何讓主鍵使用BTREE索引


最近同步測試場和正式從的數據庫結構,發現正式場的數據表的主鍵都沒有使用BTREE,於是需要進行新增,但實際上Mysql是沒有提供直接修改主鍵的語句的,需要先刪除后新增。同時,因為主鍵索引大多數是自增的,一般你直接使用刪除語句:

alter table jd_product_bricks drop primary key;
1
數據庫會報錯:

Incorrect table definition; there can be only one auto column and it must be defined as a key
1
原因是你這個刪除的主鍵字段是自增的,而mysql是不允許刪除唯一的自增字段的。
因此我們刪除的同時,也需要把自增給刪除再刪除主鍵字段,組合起來的語句是:

alter table jd_product_bricks drop primary key, modify id bigint(20) unsigned NOT NULL COMMENT '主鍵' ;
1
那么刪除了,我們就需要新增了主鍵和字段了:

alter table jd_product_bricks add primary key(`id`) USING BTREE, modify id bigint(20) unsigned NOT NULL COMMENT '主鍵' auto_increment;
1
最后就能處理這個問題了。
————————————————
版權聲明:本文為CSDN博主「Tim_PHPer」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Tim_phper/article/details/108347407


免責聲明!

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



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