MySQL雖然是一款強大的數據庫系統,但默認的表名只能是英文字符和數字,如果想要讓表名是中文,需要進行以下操作。
首先,需要設置MySQL的字符集,可以在my.cnf或my.ini中指定,例如:
[client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET NAMES utf8' character-set-server = utf8
接著,需要在MySQL中創建一個函數來轉換中文表名成英文。這個函數可以用以下代碼實現:
DELIMITER // CREATE FUNCTION `translate_table_name`(str CHAR(100)) RETURNS char(200) CHARSET utf8 BEGIN DECLARE i, len SMALLINT DEFAULT 1; DECLARE res VARCHAR(200); SET len = CHAR_LENGTH(str); WHILE len >= i DO IF HEX(SUBSTR(str,i,1)) NOT BETWEEN '20' AND '7E' THEN SET res = CONCAT(res,'_', HEX(SUBSTR(str,i,1))); ELSE SET res = CONCAT(res,SUBSTR(str,i,1)); END IF; SET i=i+1; END WHILE; RETURN res; END // DELIMITER ;
使用這個函數可以將中文表名轉換成英文字符,在創建表時就可以使用這個函數,例如:
CREATE TABLE `用戶表` ( `id` int(11) NOT NULL AUTO_INCREMENT, `姓名` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 TABLESPACE `mysql` ROW_FORMAT=COMPRESSED;
這樣就可以創建一個名為“用戶表”的中文表名了。
上一篇css最大長度
下一篇css最簡單的初始化