问题标签 [mysql-variables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - Mysql:一个查询中的“SET @Variable = 0”[Java]
我有两个 sql 查询。但是在Java中我不能设置变量。
我试图将其总结为一个查询。但这不起作用,因为 sql 语法是错误的。
mysql - 列出所有可以在运行时修改的变量
有什么方法可以获取所有可以在运行时修改的系统变量?我已经测试过,SHOW VARIABLES
但这会返回所有变量,而不仅仅是可以在运行时更改的变量。
如果我使用SHOW SESSION VARIABLES
我会得到这样的响应:
上面返回的变量basedir
是在运行时无法设置的。
mysql - 显示变量的默认值
我正在使用SET GLOBAL <variable> = <value>
修改 mysql 中的动态设置,我想知道是否有某种方法可以获取每个变量的默认值?例如,如果我使用以下内容:
然后使用以下命令列出变量:
我可以看到修改后的值1000
,但是是否可以在不检查配置文件的情况下获取此系统变量的默认值?
我在 ubuntu 16.04 上使用 mysql 5.7。
mysql - 在 LOCATE 中使用用户定义的变量时,MySQL 非法混合排序规则
我有一个类似下面的查询,要从表列中删除某些以特定子字符串开头和结尾的子字符串:
我想让它更好地重用,所以我想抽象出那些字符串。我在 mysql 中遇到了用户定义的变量,并进行了如下重构:
但这给出了一个错误:Error in query (1267): Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation 'locate'
。据我所知,我的语法应该是正确的。我错过了什么?
mysql - MySQL 运行总数仅使用硬编码整数
我有以下 SQL,但它并没有像我想象的那样工作。
结果是
但是,我是否将 fly_hours 替换为它工作的子查询中的硬编码整数。
sql-server - 如何将变量放在 SQL Server 注释中?
遗憾的是,我们通过 SQL 查询中的内联注释进行审计,如下所示:
我试图通过制作一个带有用户输入字段的工具来自动化它。有没有办法在评论变量中创建字符串,像这样?
mysql - Mysql 基于行的二进制日志记录在某些版本的 mysql 中表现不同(行分组)
在某些版本的 mysql 中对行更改进行分组时,Mysql 基于行的二进制日志记录似乎具有不同的行为。
假设以下语句更新了三行:
UPDATE table_name SET a=1 WHERE id IN (1, 2, 3);
在 mysql5.7.21
中:二进制日志只接收一个包含 3 个寄存器更改的日志。(这是我想要的行为)
但是,在 mysql5.7.11
和 mysql中测试时5.7.26
,相同的语句会产生三个单独的日志。它们中的每一个都包含每个更改的行。
我检查了系统变量,至少与二进制日志相关的变量似乎完全相同。
我们检查了--binlog-row-event-max-size
可能导致问题的启动变量。因为我们表中的行可能大于默认的 8KB。但是,我们无法设置此变量。因为我们在 Amazon RDS 中工作。(我们该怎么做?)
是否有其他变量可能导致这种行为?
mysql - 两个表并排和连接表有什么区别?
我正在研究以下 sql 代码,试图理解但感到困惑:
当我们将两个表放在一起时,查询实际上做了什么?这和加入两个表有什么区别?谢谢!
该Logs
表如下所示:
mysql - SQL变量赋值和比较逻辑
我正在研究以下mysql:
Logs 表的位置如下:
查询的输出如下:
对于第二行和第三行,我很难理解是如何得出的。例如,在 row_1 (Id = 1) 中@record = Num
,为什么 n = 1 而不是 2?在 row_3 中 @record = Num
,为什么 n = 3 而不是 2?
是否只有一个 @record 全局变量?还是每个 num 都有自己的 @record 变量?
谁能帮我理解@sql变量逻辑?谢谢!
mysql - 如何获取单个整数/浮点列的总和达到某个值的行
我有一张桌子。它具有以下结构
货物接收项目
- ID
- item_id
- 数量
- created_at
我正在尝试获取具有以下条件的行
有一个 item_id
当数量列之和等于某个值时
所以例如我有以下数据
我尝试了以下查询:
如果我不使用ORDER BY
,那么查询会给我 ID '1'。但如果我使用ORDER BY
它将返回所有带有item_id = 2
.
应按此顺序仅返回 ID '5' 和 '4'
我似乎无法解决这个问题,这ORDER BY
对我的任务至关重要。任何帮助,将不胜感激