问题标签 [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.

0 投票
3 回答
453 浏览

mysql - 删除 MySQL WHERE id IN (@VARIABLE) 中的记录 -- (2,3,4)

有没有办法使用删除记录WHERE IN @VARIABLE

创建变量:

我正在尝试从字符串中删除连接的变量。

上面的 SQL 只从列表中删除第一个元素。在此示例中,列表将包含:(2,3,4)。只会删除 id = 2 的记录。id 为 3、4 的记录将保留在表中。见下图前后的表格:

在此处输入图像描述

我很清楚我可以使用以下两种解决方案:

子查询:

如果我们稍后需要在不同的查询中运行相同的子查询,希望在对同一张表运行插入、更新或删除操作时保留原始输出,则解决方案 1 并不理想。

或者

温度表:

这将在同一会话中保留原始选择。

我想知道是否可以以某种不同的方式使用连接变量来使其工作。

0 投票
0 回答
37 浏览

php - 如何在 PHP 中使用 MySQL 变量?

我正在尝试做这样的事情:

这在 phpmyadmin 中有效,但在 Visual Studio Code 中与 PHP 一起使用时无效。我在 VSC 中这样做:

0 投票
1 回答
35 浏览

mysql - 在 MySQL 中,如何使用 WITH 替换变量?

我有一个查询,用于将报表余额与费用记录进行比较。

我想让它成为一个视图,但它使用两个变量,您不能在视图中使用它们。

我突然想到应该可以使用公用表表达式(CTE,或“WITH”查询)来替换变量,因此我可以将其打包为视图。

我读过 CTE 可以用作一种命名子查询,然后可以在同一个查询中重复使用。我玩过,试图让它工作,但无法摆脱语法错误。

以下是我正在使用的带有变量的代码,但是如果有一个概念工具箱可以以一般方式执行此操作,而不是简单地解决我的问题,那就太好了!:-)

我尝试更换

但我得到的只是一个令人沮丧的语法错误。

关于用 CTE 替换变量的通用方法的任何想法,尤其是可以解决我的特定问题的方式?

谢谢!

0 投票
2 回答
50 浏览

sql - 我得到一个大写的表名调用一个变量

我将表的变量名称设置为小写:

但是,当我尝试调用它时:

我收到一个错误:

为什么它调用我的表名的大写版本另外我在“显示变量”中验证了我的变量确实是小写的

0 投票
1 回答
26 浏览

mysql - MySQL Select 语句 - 一行上的迭代

目标是在大范围的数字上改变价格,以便能够绘制一个数字。我当前的查询返回一行名称和默认价格。

我尝试添加一个增量变量:

然而,这(显然)仍然只返回一行,而输出应该是使用不同的 row_number 值的多次迭代。

0 投票
1 回答
65 浏览

mysql - MYSQL 严格模式

对于 STRICT_ALL_TABLES,MySQL 返回错误并忽略其余行。但是,由于较早的行已被插入或更新,结果是部分更新。为避免这种情况,请使用单行语句,该语句可以在不更改表的情况下中止。

对于 STRICT_TRANS_TABLES,MySQL 将无效值转换为最接近该列的有效值并插入调整后的值。如果缺少值,MySQL 会插入列数据类型的隐式默认值。在任何一种情况下,MySQL 都会生成警告而不是错误并继续处理该语句。隐式默认值在第 11.6 节,“数据类型默认值”中描述。

我尝试设置 STRICT_TRANS_TABLE 并尝试在没有事务的情况下插入无效记录。尽管有记录,但它显示了一个错误。

  1. 非事务表是什么意思?
  2. 在上面,为什么它显示错误而不是警告?
  3. 如果两种模式都设置了怎么办?
0 投票
1 回答
32 浏览

mysql - 不使用带有 PARTITION 和多个 group by 的 MYSQL ROW_NUMBER 函数来重置行数的另一种方法是什么

我尝试编写类似以下内容,但结果不一样: