问题标签 [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 在 WHERE 中使用变量
当我写代码时:
它不能正常工作。但是如果我写代码:
它工作正常。我想在“WHERE”中使用变量。我该如何使用它?
mysql - MySQL:如何在子查询 WHERE 条件中使用主查询变量
这是我的表“资产”
我想做的是
它给我这样的结果
预期的结果是:我想得到哪个?但没有运气
当我选择 @ids 变量进行显示时,它给了我奇怪的结果集
问题:
1.) 如何实现与@ids 和另一个条件绑定的预期结果集?
2.) 为什么@ids 列显示下一行的错误值,它应该与group_concat ids 相同?我不知道我错在哪里
在这里,我附上了一个 SQL fiddle 以获得快速帮助
mysql - Ansible mysql_variables 模块有没有办法设置变量持久化?
我有这个任务的 Ansible 剧本..
第一个任务将变量设置为所需的状态,我可以验证..但它不是持久的。当第二个任务重新加载 mysql 服务时,该变量被设置为默认值。
如何在目标节点上使用 Ansible 将此变量设置为持久化?
mysql - 如何在 MySQL 的同一语句中声明变量?
如何在 MySQL 中创建可以在同一语句中引用的变量?
这也适用于 UPDATE 和 INSERT 语句吗?
我问这个是因为我有很多 SQL 文本文件,我在其中使用 MySQL-Workbench 中的 Ctrl-Enter 执行单个命令。如果是多个语句,我必须在按 Ctrl-Enter 之前选择要执行的命令。这更复杂且容易出错。
在有人问之前:这是一个具有单个用户的私有数据库,我使用这些脚本直接修改数据,通过 GUI 进行编辑需要很长时间。
我刚刚决定应该用 java 程序包装更复杂的代码。这是一个很好的决定。对于我不想编写java代码的不太复杂的问题,我仍然需要解决这个问题。
mysql - mySQL 使用动态列名的过程更新行
我一直在尝试编写一个存储过程,该过程涉及用户输入他们希望存储数据的列,然后输入要存储的数据。到目前为止,这可行,但该列是硬编码的。
但我想这样做,以便Lunch
用户可以动态设置列。到目前为止,我坚持这一点:
但是当我尝试输入以下 CALL 语句时,这会引发错误
CALL AddBehavior(19, "AM Snack", "test");
错误代码:1054。“字段列表”中的未知列“测试”
我不明白为什么它试图将@Var3 查找为列,而不是将其设置为@Var2 列中的数据。
感谢大家的任何帮助或见解!
mysql - 如何将语法结果转换为变量mysql
我有一个表,其中 order_buyer_id 作为交易的 id,createdby 作为买方的 id,createdAt 作为交易发生的日期,数量作为每笔交易的重量。
在我的桌子上,我将买家分为 3 种类型:
这是找出新买家的语法,我称之为 A(新买家):
这是找出重复买家的语法,称为 B(唯一买家):
;
这是找出现有买家的语法,称为 C(现有买家):
基本上我希望所有这些语法都变成变量 A、B、C 所以我可以根据我的解释计算我需要的百分比,预期的结果就像这样
和select (100 - percentage_1) as percentage_2
关键是如何使语法的每个结果都变成可变的,这样我就可以像预期的结果一样计算 percent_1 和 percent_2 。
sql - 必须在单元测试中声明标量变量
我正在尝试设计一个单元测试,以确保消息大于一定数量的字符。我的代码是:
我收到以下错误:
消息 137,级别 15,状态 2,API_GetStandardDisclaimerText 测试以确保消息足够长的过程测试,第 25 行 [批处理开始第 3 行] 必须声明标量变量“@ArbitraryNumberOfCharacters”。消息 137,级别 15,状态 2,API_GetStandardDisclaimerText 测试以确保消息足够长的过程测试,第 33 行 [批处理开始第 3 行] 必须声明标量变量“@ThisShouldEqualOne”。
我很茫然,因为我已经声明了变量并且我似乎没有给出类型错误?stackoverflow 上有关此主题的其他帖子似乎对我没有帮助。
mysql - 分配为动态字段别名的“用户定义变量”错误
我在 Workbench 中创建了 MySQL 查询插值。该查询非常适合我的需求,只是我无法将“用户定义的变量”@var1/2/3 作为我的字段别名。
我在这一行中遇到AS @var1(SELECT field4 FROM view_table LIMIT 0, 1) AS @var1
错误,我怀疑字段 Alias 不接受“用户定义的变量”,如下面的 MySQL 查询所示:
这是我想要的查询结果:
任何人都可以帮我找出作为字段别名的标头变量的正确 MySQL 语法吗?
更新: 我已经发布了下面的解决方案以供参考。
mysql - MYSQL8 变量“character_set_database”有什么用?
我使用 SQL 'show variables like 'character%';' 显示MySQL变量中的字符集。我找到了一个名为'character_set_database'的变量,我想知道它的用途。我从 MySQL 文档网站获得了一些信息。但我不知道文档上下文中“默认数据库”的含义。关键字“默认数据库”让我对变量“character_set_database”的使用感到困惑。
所以请帮我解释一下关键字' default database '或者直接使用变量' character_set_database '。
mysql网站中关于属性' character_set_database '的描述:
· character_set_database默认数据库
使用的字符集。每当默认数据库更改时,服务器都会设置此变量。如果没有默认数据库,则该变量具有与 character_set_server 相同的值。 从 MySQL 8.0.14 开始,设置此系统变量的会话值是一项受限操作。会话用户必须具有足以设置受限会话变量的权限。请参见第 5.1.9.1 节,“系统变量权限”。 全局 character_set_database 和 collation_database 系统变量已弃用,并将在 MySQL 的未来版本中删除。
不推荐为会话 character_set_database 和 collation_database 系统变量分配值,并且分配会产生警告。在 MySQL 的未来版本中,会话变量将变为只读,并且分配将产生错误。仍然可以访问会话变量以确定默认数据库的数据库字符集和排序规则。”
sql - 根据 sys.tables 中的名称声明一个变量,然后在动态 SQL 中删除基于该变量的表
所以我期望的是第一段代码找到表名,然后如果该表名存在并且超过 3 天,则删除该表。
我对这段代码的问题是代码没有替换@temp_name
为实际的表 DrinkSales。所以变量没有在 select 语句中正确设置。
当前代码:
所以结果应该是: