将表中的行从 utf8_turkish_ci 更新为 utf8_general_ci 有何影响?

2024-02-18

我无法加入某些表,因为有些表/行是 utf8_general_ci,有些是 utf8_turkish_ci。因此我不得不复制土耳其语,将其转换为通用语,最后使用它。但我想知道,如果我将原始表从土耳其语转换为通用表,我的应用程序会发生什么情况?我使用 MySQL 和 PHP。

这是最初的错误:Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_turkish_ci,IMPLICIT) for operation '='


您的列数据是使用字符集存储的。在本例中,它似乎是 utf8。

当您对这些列进行操作(例如,进行相等比较或排序)时,MySQL 会使用排序规则。每列都有一个默认排序规则,它继承自表的默认排序规则。

索引内置了列的默认排序规则,因此它们可以有效地运行。

您可以进行通过排序规则限定的相等比较。例如,在一个JOIN你可以指定

ON (turkish.village_name COLLATE utf8_general_ci) = euro.village_name

也许

ON turkish.village_name = (euro.village_name COLLATE utf8_turkish_ci)

这应该可以消除非法的排序规则混合,而不需要您更改表。这可以帮助您避免您所询问的数据库更改。但要小心,使用COLLATE限定符可以击败索引的使用。如果您有一个很大的表并且您依赖索引来提高性能,那么这可能没有帮助。

那么,如果您更改表以更改默认排序规则,会发生什么情况?

  1. 您的数据不会改变(除非您也更改字符集)。那很好。
  2. 任何涉及带有排序规则的列的索引都将被重新生成。
  3. 您的比较和排序可能会发生变化。我不懂土耳其语,所以我无法告诉你什么可能会出问题。但是,例如,在西班牙语中,字母N and Ñ不一样。N出现在之前Ñ在西班牙语排序规则中,但在一般排序规则中,它们被视为相同。土耳其字母表的某些方面可能是相同的,所以你的ORDER BY结果将不正确。

但是,您可以通过指定一个来解决这个问题COLLATE修饰符在你的ORDER BY clause.

ORDER BY (euro.village_name COLLATE utf8_turkish_ci)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将表中的行从 utf8_turkish_ci 更新为 utf8_general_ci 有何影响? 的相关文章

  • MySQL,连接两列

    MySQL 表中有两列 SUBJECT and YEAR 我想生成一个字母数字唯一编号 其中包含主题和年份的串联数据 我怎样才能做到这一点 是否可以使用像这样的简单运算符 您可以使用CONCAT http dev mysql com doc
  • 错误代码:1062。重复条目“PRIMARY”

    因此 我的教授给了我表格将其插入数据库 但是当我执行他的代码时 MySQL 不断给出错误代码 1062 这是冲突表和插入 TABLES CREATE TABLE FABRICANTES COD FABRICANTE integer NOT
  • 如何在 Ansible 中运行 MySQL 查询

    我需要编写一个 Ansible 脚本来在 MySQL 数据库中执行 SQL 查询 这是我尝试过的 你能指导一下吗 hosts localhost tasks name retrive data command mysql u root h
  • MySQL - 查找接近的匹配项

    MySQL 有没有办法在文本字段中找到紧密匹配的内容 说找到 email protected cdn cgi l email protection当搜索时 email protected cdn cgi l email protection
  • 如何在没有 DROP 数据库权限的情况下从命令行删除所有 MySQL 表? [复制]

    这个问题在这里已经有答案了 如何使用命令提示符删除 Windows MySQL 中的所有表 我想这样做的原因是我们的用户有权访问数据库删除 但无权重新创建数据库本身 因此我们必须手动删除表 有没有办法一次删除所有表 请记住 大多数表都与外键
  • 内连接 3 个表

    我正在使用 PHP 和 PDO 我需要重新收集连接 3 个表的信息 photos albums 相册照片 该表具有以下结构 photos photo id int path varchar nick varchar date timesta
  • 使用表白名单选项更新 Debezium MySQL 连接器

    我正在使用 Debezium 0 7 5 MySQL 连接器 并且我试图了解如果我想使用以下选项更新此配置 最好的方法是什么table whitelist 假设我创建了一个连接器 如下所示 curl i X POST H Accept ap
  • 迁移问题:MS SQL > MySQL:插入缓冲区内存

    我在使用 MySQL Workbench 上的内置迁移工具时遇到问题 我正在将一个非常大的数据库从 MS SQL 2014 迁移到 MySQL MS SQL 服务器本地部署在我的 Windows 8 1 桌面上 MySQL 服务器在我的网络
  • 了解 SQL Server 排序规则中的 Unicode 和代码页

    为什么所有 SQL Server 2008 R2 排序规则都与代码页相关联 所有排序规则都是 unicode 吗 当您的数据库被使用不同代码页的多种语言使用时 如何选择排序规则 谢谢 CHAR 与 NCHAR 即非 Unicode 与 Un
  • 转义用户数据,无需魔法引号

    我正在研究如何在来自外部世界的数据被用于应用程序控制 存储 逻辑等之前正确地对其进行转义 显然 随着 magic quote 指令在 php 5 3 0 中很快被弃用 并在 php6 中被删除 对于任何想要升级并进入新语言功能 同时维护遗留
  • Mysql加密/存储敏感数据,

    我的 PHP 网站有以下内容 启用 SSL 饼干 session set cookie params cookieParams lifetime cookieParams path cookieParams domain secure ht
  • 错误 1305 (42000):保存点...不存在

    我的 MYSQL 数据库中有这个 SQL 存储过程为空 所以我猜没有隐式提交 DROP PROCEDURE IF EXISTS doOrder DELIMITER CREATE PROCEDURE doOrder IN orderUUID
  • 考虑到我的图像链接存储在MySQL数据库中,如何通过php显示存储在文件夹中的图像

    作为良好的做法 我只将图像链接存储在数据库中 问题是 我应该如何存储图像的链接 假设它在 c 上 c image jpg 我应该使用哪段 PHP 代码来显示该图像 我只显示路径 我该怎么做才能显示图像 我可以用这个吗 query SELEC
  • Mysql UUID_SHORT() 与 UUID() 相当吗

    如果您愿意的话 请快速提出问题或意见 我需要为数据库表生成一些 UUID 自动递增密钥不会减少它 因为我还需要密钥在数据库和系统中保持唯一 UUID 工作正常 但其输出对于行将导出到的某些系统来说太长 UUID SHORT 做得很好 我已经
  • 哪些mysql设置影响LOAD DATA INFILE的速度?

    让我来介绍一下情况 我们尝试将适量的行数 大约每天 10 20M 插入到宽度适中的 MyISAM 表中 Field Type Null Key Default Extra blah1 varchar 255 NO PRI blah2 var
  • 如何在chart.js中使用JSON数据?

    您好 我一直在尝试使用 MYSQL 数据库中的数据 并使用它们通过 Chart js 创建图形图表 我将数据编码为 JSON 数据 通过 php 文件名 data1 php 现在我需要使用 Jquery 或 javascript 将这些 J
  • Mac 上的 Emacs 和 MySQL

    我尝试使用 sql mysql 模式 但 emacs 无法找到文件 目录 mysql 但是 我可以从终端访问它 如何将 emacs 中的 mysql 指向 usr local mysql bin mysql setq sql mysql p
  • 对不同的数据库和表进行一次性查询

    我有一个 Rails 应用程序 侧面有一个 WordPress 博客 完全单独位于 blog 客户想要 Rails 应用程序主页上的最新博客文章 因此我需要对 word press 数据库进行一次性 mysql 查询 我将如何在 Rails
  • 使用整数数组设置外键

    我对使用 SQL 还很陌生 但我在 Stack Overflow 上遇到过这个关于使用标签的问题 推荐用于标记或标记的 SQL 数据库设计 https stackoverflow com questions 20856 recommende
  • InnoDB:使用事务批量插入或组合多个查询?

    做批量的时候INSERT在InnoDB中 我应该使用事务吗 START TRANSACTION INSERT INTO tbl name a b c VALUES 1 2 3 INSERT INTO tbl name a b c VALUE

随机推荐

  • Nougat 上未调用 TelephonyManager 的 PhoneStateListener

    我制作了一个示例应用程序和 PhoneStateListener TelephonyManager telephony TelephonyManager getSystemService Context TELEPHONY SERVICE
  • ASP.Net Core 将数据从 SQL 数据库复制到 SQLite

    我正在将一个应用程序转换为 ASP Net Core 该应用程序要求用户能够在某些情况下离线工作 以前 我们通过将数据复制到 SQLite 数据库并将该数据下载到客户端来处理此问题 我在 ASP NET Core Entity Framew
  • php PDO使用占位符批量插入多行

    我希望使用 PHP PDO 进行多次插入 我找到的最接近的答案是这个 如何将数组插入到单个 mysql 准备好的语句中 https stackoverflow com questions 4629022 how to insert an a
  • 信号量 P 和 V 操作是原子操作吗?

    可以在信号量上执行的 P 和 V 操作是否保证原子操作 信号量可以防止两个进程进入 P 吗 假设我们有一个二进制信号量 s 其值为 1 并且两个进程同时尝试在 s 上执行 P 这些操作中只有一个能够在 s 上的下一个 V 操作之前完成 尝试
  • “故事板.故事板”无法打开

    无法打开文档 Storyboard storyboard 不能 阅读档案 请使用较新版本的 Xcode 考虑更改文档的 开发目标是保持兼容性 我们不能通过对设置进行一些更改来在 xcode 4 2 上运行它吗 打开storyboard文件作
  • 需要创建带有水印图像的光标[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我需要创建带有透明 水印 图像的光标
  • 如果 UILabel 的内容不适合,则更改文本末尾的默认“...”

    我的 iPhone 项目中有一个 UILabel 它具有固定的宽度和高度 但它的内容可能会根据用户正在查看的内容而变化 有时 文本对于 UILabel 来说太大 此时字符串 被添加到行尾 我想知道是否可以将此字符串更改为其他内容 例如 mo
  • 如何输入非富文本?

    是否可以进入non 富文本进入文本编辑器 撇号富文本编辑器似乎添加 p 标签围绕其中的所有内容 我想像这样格式化 widget html p h2 apos singleton data widget section heading apo
  • JDBC:Oracle 应用服务器和“网络适配器无法建立连接”错误

    我从 Oracle 应用服务器 10g 中部署的 Web 应用程序收到错误 网络适配器无法建立连接 数据库是本地的 因此不应该有任何连接问题 第一个测试 我可以从 SQL plus 连接到数据库 运行查询等 没有任何问题 第二次测试 我可以
  • 如何将 sql 查询的结果映射到对象上?

    目前 我正在使用这样的东西 try dr SQL Execute sql if dr null while dr Read CustomObject c new CustomObject c Key dr 0 ToString c Valu
  • Javascript DOM“this”对象不正确

    有谁可以解释以下错误消息吗 我试图获取有关多个 div 的简单信息 而其中一个 div 抛出此错误 忽略具有 LenientThis 的属性的 get 或 set 因为 this 对象不正确 脚本 js 3288 resource gre
  • 如何从不同版本的python导入*.pyc文件?

    我使用 python 2 5 并从 C util Python25 Lib site packages 目录导入一个名为 irit py 的文件 该文件导入位于同一目录中的文件 irit pyc 它运行良好并且做了我想要的事情 然后 我用
  • Spark.table 与 sql() AccessControlException

    尝试跑步 spark table db table groupBy date agg sum total returns org apache spark sql AnalysisException org apache hadoop hi
  • 仅适用于正整数的正则表达式是什么? (不允许为零)

    仅适用于正整数的正则表达式是什么 不允许为零 我只能得到数字的正则表达式 即 d 我一直试图在网上寻找一个 但已经过去一个小时了 所以我决定将其发布在 Stack Overflow 上 matches 1 2 444 9000 012 不匹
  • 批处理文件中的 at 符号 (@) 是什么?它有什么作用?

    熟悉 windows dos 批处理脚本的人会认出这一行 echo off 在很多很多天里 我对这样的感觉感到高兴 is how echo off应该写在批次的顶部 仅此而已 然而 最近我遇到了 http getcomposer org d
  • 使用 C 计算 ASCII 文件中的行数

    我想计算 ASCII 文本文件中的行数 我认为最好的方法是计算文件中的换行符 for int c fgetc fp c EOF c fgetc fp Count word line endings if c n lines 但是 我不确定这
  • 无法确定我的测试用例是通过还是失败

    我需要在 JavaScript 中测试 事件 例如按钮单击 使用 Mocha 单击链接等 我有 3 个文件 1 Login html 2 Application js 3 test js 1 Application js文件包含以下代码 f
  • 在 Objective C 中将公历日期转换为儒略日计数

    我需要 Objective C 方法将公历日期转换为儒略日 与 PHP 方法 GregorianToJD 相同 精度 合并一天中的时间儒略日期转换 这些儒略日期转换方法产生的结果与美国海军天文台 https aa usno navy mil
  • 什么是谓词?

    作为一名业余编码员 我缺乏一些基础知识 在过去的几天里 我读了一些东西 谓词 这个词不断出现 我非常感谢有关该主题的解释 谓词的定义 可以在网上找到各种来源 例如 is 计算结果为 TRUE 或 FALSE 的逻辑表达式 通常用于指示代码中
  • 将表中的行从 utf8_turkish_ci 更新为 utf8_general_ci 有何影响?

    我无法加入某些表 因为有些表 行是 utf8 general ci 有些是 utf8 turkish ci 因此我不得不复制土耳其语 将其转换为通用语 最后使用它 但我想知道 如果我将原始表从土耳其语转换为通用表 我的应用程序会发生什么情况