我的表定义如下:
如果不存在则创建表
test
。notes
(id
INT(10)UNSIGNED NOT NULL AUTO_INCREMENT,clientid
INT(10)NOT NULL,
userid
INT(10)NOT NULL,
notes
NVARCHAR(256)NULL DEFAULT NULL,createddatetime
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY(id
))ENGINE = InnoDB DEFAULT CHARACTER SET = utf8;
在这里,我将notes列定义为navarchar,但最终它变成了varchar列。我正在使用6.3版本。怎么了
从MySQL的文档,我们可以看到内部的MySQL将映射NVARCHAR
到VARCHAR
一个UTF-8字符集。该文档提到以下定义都是等效的:
VARCHAR(10) CHARACTER SET utf8
NATIONAL VARCHAR(10)
NVARCHAR(10)
NCHAR VARCHAR(10)
NATIONAL CHARACTER VARYING(10)
NATIONAL CHAR VARYING(10)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句