当前位置: 首页 > 知识库问答 >
问题:

MySQL:为不工作的视图设置排序规则

梁丘成和
2023-03-14
create or replace view my_view as
select * from table_a a
inner join table_b b
on a.id = b.fk_id
collate utf8mb4_unicode_ci
SHOW FULL COLUMNS FROM my_view

更多信息

SHOW VARIABLES LIKE "char%";

共有1个答案

冯宪
2023-03-14

您的collate utf8mb4_unicode_ci仅影响加入条件。

如果需要更改resultset排序规则,则必须使用单独的列列表,而不是带有单独排序规则更改的星号(convert函数)或为每个字符串类型的列指定。

演示

 类似资料:
  • 我正在使用外部数据库(只读)与本地数据库(测试系统)。 所以每次从外部数据库获取数据时,我都会得到如下异常警告,默认为空字符,如“”。 character_set_connection=latin1 character_set_database=utf8 character_set_filesystem=二进制 character_set_results=latin1 character_set_

  • 问题内容: 创建视图时,我基本上是在创建一个新表,当其中一个表中的数据发生变化时,该表将自动进行处理。那是对的吗? 另外,为什么我不能在视图中使用子查询? 问题答案: 视图的工作方式 类似于表 ,但不是表。它永远不存在;它只是在引用视图名称时运行的准备好的SQL语句。IE浏览器: …相当于运行: MySQLDump将永远不会包含要插入视图中的行… 另外,为什么我不能在视图中使用子查询???? 遗憾

  • 问题内容: 当其他选项(例如或)看起来更合理时,将其设置为已编译默认值的原因是什么? 问题答案: 写这封信的那个家伙是一家瑞典公司的联席主管。 出于类似的原因,可能是Microsoft SQL Server的默认语言us_english。

  • 问题内容: 如何查看表具有的排序规则?IE浏览器,我想看: 问题答案: 显示有关表的信息,包括排序规则。 例如

  • 问题内容: 我需要创建一个自动在结果中添加虚拟行号的视图。这里的图完全是随机的,我要实现的是动态创建的最后一列。 查询: 问题答案: 采用: 这不是理想的方式,因为将对返回的每一行执行num值查询。更好的主意是创建一个表,其中的一列包含一个从一个开始的数字,然后递增到一个非常大的数字,然后以类似于下面的变量示例的方式联接和引用该表。 MySQL排名,或缺乏 您可以定义一个变量以获得伪行号功能,因为

  • 我在digital ocean上创建了一个新实例,并安装了laravel(通过克隆我所从事的git回购)。然后我为nginx配置了默认配置,但该站点甚至无法远程访问。 brwoser中的答案是:“SERVERIP当前无法处理此请求。” 我得到的错误就是这个错误。日志 PHP消息:PHP致命错误:require():无法打开required'/var/www/mfserver/bootstrap//