小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

MySQL:批量修改表的排序規(guī)則

 hncdman 2022-12-04 發(fā)布于湖南



MySQL 8.0 默認的排序規(guī)則為 utf8mb4_0900_ai_ci,使用腳本還原的表的排序規(guī)則可能是 utf8mb4_general_ci,之后又自己在庫中建的表是 utf8mb4_0900_ai_ci,于是庫中存在這兩種排序規(guī)則,在做關聯(lián)查詢時就會報錯。

解決方案

將庫中所有表的排序規(guī)則改為一致,此處演示將 utf8mb4_0900_ai_ci 批量改為 utf8mb4_general_ci

生成修改腳本

SELECT 

CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, 

        '(', CHARACTER_MAXIMUM_LENGTH, ') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci', 

        (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END),

        (case when IFNULL(column_comment,'')='' then '' else concat(' COMMENT \'' , column_comment ,'\'') end),

        ';') as `sql`

FROM information_schema.COLUMNS

WHERE 1=1

and TABLE_SCHEMA = 'LT_PMP_Dev' #要修改的數(shù)據(jù)庫名稱

and DATA_TYPE = 'varchar'

and COLLATION_NAME='utf8mb4_0900_ai_ci'

生成的 SQL 語句如下:

ALTER TABLE `project_list` MODIFY `notice` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '項目公告';

ALTER TABLE `project_list` MODIFY `tenant_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '租戶號';

ALTER TABLE `project_member` MODIFY `role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '項目角色';

ALTER TABLE `project_plan` MODIFY `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '計劃名稱';

ALTER TABLE `project_plan` MODIFY `status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '計劃狀態(tài)';

執(zhí)行上面的 SQL 就好了。

如果存在外鍵:

注意:如果表中有外鍵的話會執(zhí)行失敗,這就比較麻煩了,刪除外鍵重建吧,或者導出建表 SQL 修改建表語句的排序規(guī)則重樣的建表還原數(shù)據(jù)。

ALTER TABLE ACT_DE_MODEL MODIFY id varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL

3780 - Referencing column 'model_id’ and referenced column 'id’ in foreign key constraint 'fk_relation_child’ are incompatible.

時間: 0.003s

————————————————

版權聲明:本文為CSDN博主「ifu25」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權協(xié)議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/ifu25/article/details/120646717

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多