问题标签 [user-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 投票
1 回答
1383 浏览

sql - mysql update 语句的行为会根据用户变量是否存在而有所不同

我正在重置具有重复或缺失值的排序列,如下所示:

(遍历所有按多个关键字段排序的行,这些字段分配逐渐递增的值进行排序;每当这些字段中的任何一个发生变化时,从 0 重新开始。)

似乎只有在进行更新之前创建了 @sort 变量时才有效(尽管它的设置无关紧要)。如果没有“set @sort”,所有排序值都设置为 0 或 NULL。

任何想法为什么会这样?MySQL 版本 5.0.51。

更新:为了更详细地解释逻辑:在第一行上,@last=(@last:=...) 将始终为 false,此后当任何关键字段从前一行更改时,它将为 false . (注意没有一个被连接的关键字段是NULL)。当它为假时,我们从 0 (@sort:=0) 重新开始排序计数器,否则,它会递增 (@sort:=@sort+1) 并使用新值。

在更新语句中设置之前,绝不会使用@sort,因此在更新语句之前是否设置或如何设置应该没有区别。

0 投票
3 回答
837 浏览

php - 在一个查询中执行更新并设置用户变量

熟悉 php 的 mysql_query 命令的人都知道,它不允许我们在一次调用中执行多个查询(由 ; 分隔符分隔)...

我的问题是我不能在我的 UPDATE 查询中定义一个用户变量,以便我为每一行递增它(有点像自动递增)。它应该看起来像这样:

我的问题是,因为我无法定义我的变量然后进行更新,所以我找不到在查询中设置变量的方法。如果它是NULL,我试图定义它:

但它没有工作,因为变量在它工作的每一行都会重置。

任何熟悉mysql的人都知道这是一个解决方案吗?提前致谢。

0 投票
1 回答
3011 浏览

mysql - MySQL 从用户变量的视图中选择 - 意外结果

我有 2 张桌子和一个视图。在product_oper我有一些我收到的产品(何时id_dest为 1)和我出售的产品(何时id_src为 1)。该表product_doc包含操作发生的日期。

在视图中,我想查看所有操作和日期。

现在我想看看单个产品的操作,以及特定日期的数量和价值。

我得到的结果很奇怪:

金额从零开始,
在第 1 行:+3 => 3 (ok)
在第 2 行:-0.5 => 2.5 (ok)
在第 3 行:+1 => 3.2 (???)
在第 4 行:-0.3 => 2.2 (???)

看来MySQLORDER BY在执行语句时并没有按照子句中指定的行顺序,而是在id之后查找: See that document with id 4 is before document with id 3 ('2009-10-21' < ' 2009-10-28')

我做错了什么,还是 MySQL 的错误?

0 投票
2 回答
219 浏览

php - 从 msqli::multi_query 取回行时遇到问题

我有一个包含许多语句的 sql 查询。它:

  1. 设置用户变量
  2. 调用存储过程
  3. 调用另一个存储过程
  4. 选择一些数据

我知道查询是正确的,因为我已经在 MySQL Workbench 中以同一用户对其进行了测试。查询是这样的:

那只是存储在一个字符串中:$sql. 然后我在 PHP 中使用它:

这会打印一个结果对象,但它是空的。尝试迭代它也不会产生任何结果。

我究竟做错了什么?我什至可以使用这样的用户变量吗?或者我是否需要将过程转换为存储函数并执行三个单独的查询?

0 投票
2 回答
176 浏览

mysql - MySQL中用户定义变量的奇怪行为

我注意到用户定义的变量有些奇怪:

假设我有这张桌子:

我可以创建一个逗号分隔的列表并将其存储在用户定义的变量中,如下所示:

这会将值分配3,6,9@var.

这是奇怪的部分。跑步

返回 1,但正在运行

返回 0。

在我看来,它应该工作或不工作。知道为什么它只适用于列表中的第一个数字吗?

0 投票
1 回答
10284 浏览

sql - 如何将 SQL 查询结果的数值赋给 Double 数据类型的包变量?

我有一个简单的任务 - 使用 Execute SQL 任务中的 ResultSet 填充用户变量

(这只会返回一列和一行)。

MainID 当前作为用户定义的数据类型存储在数据库中。该值以 XXXX.Y 格式存储(例如 8008.1)。

如果我将 UserVariable 更改为 String 数据类型,我可以毫无问题地分配该值,将 ResultSet 转换或转换为 STRING/NUMERIC/FLOAT。

或者

但是,如果用户变量数据类型为 DOUBLE,我无法分配该值。我收到以下错误消息:

[执行 SQL 任务] 错误:将值分配给变量“dUserVariable”时发生错误:“分配给变量“User::dUserVariable”的值的类型与当前变量类型不同。变量在执行期间可能不会更改类型. 变量类型是严格的,除了 Object 类型的变量。”。

我对 SSIS 还很陌生,所以我对如何进行这种转换有点困惑。

有任何想法吗?

0 投票
1 回答
1632 浏览

ssis - SSIS 从 CSV 文件更新用户变量

我对 SSIS 相当陌生,我一直在到处寻找这个问题的答案但找不到它,这让我觉得它非常简单明了,因为我很确定这是 SSIS 的标准问题。

我正在构建一个 SSIS 包来自动上传数据。

我们有一个跨四台服务器的多实例环境,并且使用的是 SQL Server 2005。因此,我有一个用于服务器名称和实例名称的用户变量。数据库和表将始终保持不变。数据保存在 excel 文件中,但我将使用 CSV 导入数据。

有没有办法让我从 CSV 文件更新用户变量?TSQL - “打开行集”是前进的方向吗?

我之前一直在更新已将数据导入到的表中的变量,但后来我意识到在实时情况下我不知道将数据导入到哪里,因为这些值仍然在 CSV 文件中。

请帮忙!这让我发疯,我有一种下沉的感觉,答案真的很明显,这让情况变得更糟!

谢谢!

朱丽叶

0 投票
1 回答
88 浏览

php - 同一连接上的多个mysql语句

我正在构建一个搜索查询,想知道下面的代码是否有效。基本上我会在第一条语句中设置@keywords 变量,然后在第二条语句中使用它。它似乎工作得很好,但我不确定这是否是一个好的程序。有任何想法吗?:)

关键是查询会更复杂,@keyword 会出现很多次。

0 投票
2 回答
4750 浏览

mysql - mysql更新语句中的用户变量

让我们t成为一个 mysql 表并n成为其中的一个整数列。如果可以修改以下查询以便n - 10只计算一次表达式,我会很感兴趣。

我知道,查询没有意义,但我需要在实际应用程序中使用相同的模式,其中值105将是 php 变量。

0 投票
1 回答
102 浏览

mysql - 用户变量不递增

为什么以下查询不会增加 seq?

结果: