2015-12-11 323 views
0

对不起,如果这是一个简单的问题,我从SQL Server来到MySQL。问题将varchar转换为nvarchar mysql

当我执行我的create语句时,它包含nvarchar,但是以varchar提交到数据库。即使在我之后的更改声明中,该列也完全没有改变。排序规则或数据库引擎是否有所作为?

执行期间我没有遇到任何结果问题,除了列更改数据类型的事实。我重视我的活动的一个截屏http://screencast.com/t/wc94oei2

我一直无法通过我的谷歌找到类似问题的人搜索

+0

您应该显示一些代码,查询和/或表格架构。这将帮助我们了解问题的来源。 –

+0

我刚刚创建了和你一样的表格,它被描述为varchar,但是当我用'nvarchar'启动alter table时,我得到的消息是什么都没有改变,然后当我'描述'表时它仍然是varchar。另一方面,当我创建varhar列,然后运行同一个alter table时,我收到一条消息,说明某些内容已经发生了变化,但在“描述”之后它始终是'varchar'。所以我认为它叫做简单的varchar,不管它是varchar还是nvarchar。 –

+0

@guillaume我在屏幕录像中做了,但我可以做一些像CREATE TABLE测试(test nvarchar(50))。但我想我知道这个问题,你可以选择做nvarchar,但是mysql将它保存为varchar,比如varchar(500)CHARACTER SET utf8。由于我们使用utf-8的nvarchar。但是当你在工作台上看时,你只能看到它保存为varchar。令人困惑的 – Nick

回答

0

你的意思是,这个..

CREATE TABLE starsidstars INT( 11)NOT NULL AUTO_INCREMENT, Name为nvarchar(200)DEFAULT NULL, PRIMARY KEY(idstars) UNIQUE KEY Name_UNIQUEName) ) ----转向--- CREATE TABLE starsidstars INT(11)NOT NULL AUTO_INCREMENT, Name VARCHAR(200)DEFAULT NULL, PRIMARY KEY(idstars) UNIQUE KEY Name_UNIQUEName) )