gpt4 book ai didi

mysql - 数据库中无法识别的数据类型 nvarchar

转载 作者:行者123 更新时间:2023-11-30 21:59:38 25 4
gpt4 key购买 nike

我尝试将 MySQL 服务器数据导入 PHPMyAdmin MySQL 数据库。发现无法识别的数据类型“nvarchar”。我的数据库排序规则设置为“utf_general_ci”。

enter image description here

最佳答案

您不必担心由 phpmyadmin 而不是 MySQL 生成的 nvarchar 消息。 MySQL 确实允许 nvarchar 数据类型,请参阅 national data character set 上的 MySQL 手册:

Standard SQL defines NCHAR or NATIONAL CHAR as a way to indicate that a CHAR column should use some predefined character set. MySQL uses utf8 as this predefined character set. For example, these data type declarations are equivalent:

CHAR(10), CHARACTER SET utf8 NATIONAL CHARACTER(10), NCHAR(10)

As are these:

VARCHAR(10), CHARACTER SET utf8 NATIONAL VARCHAR(10), NVARCHAR(10), NCHAR VARCHAR(10), NATIONAL CHARACTER VARYING(10), NATIONAL CHAR VARYING(10)

真正的问题出现在错误消息的底部:行大小太大。此错误消息来自 MySQL,这就是您需要解决的问题。

mysql 对 nvarchar 数据类型使用 utf8 字符集。 mysql 中的一个 utf8 字符最多使用 3 个字节。您的 config_data 字段定义为 nvarchar(21844),因此最多需要 21844*3+2=65534 字节。

如错误消息所述,一行最长可达 65535 字节,因此您还剩下 1 个字节,但其他字段会使行大小超出限制。

你可以做什么:

  1. 减少 config_data 字段的长度,使总行长度符合限制。
  2. config_data 数据类型更改为 varchar 并使用需要较少字节的字符集 - 只需确保该字符集支持您需要的所有字符即可。
  3. config_data 数据类型更改为 text,因为只有一小部分文本字段值实际存储在行本身中。这实际上是在错误消息本身中建议的。

关于mysql - 数据库中无法识别的数据类型 nvarchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43801482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com