2012-03-23 102 views
2

MySQL是否以層疊類型的方式處理默認字符設置?MySQL默認字符集

例如,我期待在生成完整的數據庫腳本,並將其與這樣的聲明開始了:這意味着

CREATE SCHEMA IF NOT EXISTS `xyz` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ; 

那麼,這是作爲這部分創建的所有表數據庫將默認使用UTF8字符集?如果我想爲給定的表使用不同的字符集,我只需要在CREATE TABLE語句中定義它;這是否準確?我是否也可以覆蓋特定表格的特定字段?謝謝!

回答

1

是的。如果在數據庫(模式)級別設置charset和collat​​ion,它將應用於該數據庫內的任何新創建的表,除非這些表在CREATE TABLE語句中指定了它們自己的charset/collat​​ion。

是的,你也可以在每個字段的基礎上指定charset/collat​​ion。來自MySQL手冊的示例:

CREATE TABLE t1 
(
    col1 VARCHAR(5) 
     CHARACTER SET latin1 
     COLLATE latin1_german1_ci 
); 
+0

感謝您的澄清,很有義務 – snappymcsnap 2012-03-23 16:45:31