我正在用mariadb和Spring JdbcTemplate進行開發。如何修改mariadb chartset?
起初,我們製作了DB字符集作爲utf8
,但現在我們必須將其更改爲utf8mb4
,因爲表情符號。
到現在爲止,我用下面的查詢來更新單個字符集。
ALTER TABLE WT_WORKS CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE WT_WORKS CHANGE WORKS_TITLE WORKS_TITLE VARCHAR(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE WT_WORKS CHANGE WORKS_DESC WORKS_DESC VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
但是,由於表關係,它現在是有效的。例如,當我插入到WT_WORKS
時,還需要將其轉換爲WT_WRITERS
。看起來不可能找到每個表和列。
所以我想知道一次改變這些(包括Procedures
和Functions
)。 - 像(v_name VARCHAR(10))
到(v_name VARCHAR(10) CHARSET utf8mb4)
。
感謝您的回答。
僅供參考。我my.cnf
得到遵循設置
[client]
default-character-set=utf8mb4
[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
[client]
default-character-set = utf8mb4
它看起來像只能用一個查詢無法修復。謝謝您的好意。 –
是的。一個查詢會生成許多'ALTERs'列表,然後需要運行。 –