问题标签 [mysql-function]
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代码中END关键字的语法错误问题
当一切看起来都很好时,为什么我会收到语法错误。指出了 MySQL 工作台上的错误位置。我检查了很多问题,但没有找到答案。我知道这将是一个小问题,但我无法弄清楚
mysql-8.0 - MySQL 8 获取 PROCEDURE/FUNCTION 完整定义
我需要在MySQL 8中获取用户定义的PROCEDURE / FUNCTION完整定义。
MySQL 5.6包含mysql.proc表,我们可以获得函数完整定义,但 MySQL 8 不包含proc表。
但是MySQL 5.6和8也有information_schema.ROUTINES表它只包含函数体,我找不到函数parameter
和return
类型。
我在 MySQL 5.6 中做了什么
知道如何做这个 MySQL 8 吗?
我的最终目标是使用 PHP 将所有函数和过程从一个数据库复制到另一个数据库
我找到了一个解决方案...
显示创建函数函数名
以上查询在MySQL 5.6和8中工作正常。但首先我必须从information_schema.ROUTINES表中获取FUNCTION名称列表并循环记录集,在循环内我必须运行上面的SHOW CREATE FUNCTION查询。
如何优化此流程?
mysql - 我的 LAG 函数没有按预期工作 MySQL 8.x
我的表如下所示:
Metro_region、价值、日期
在 11 月份具有多个值(每个日期一个)。大约有100个都会区。
我希望我的报告包含以下数据:
我尝试了什么:
我怀疑我没有正确分区......或者只是严重错过了如何使用LAG
......任何见解都值得赞赏!
mysql - 传递 0 秒字符串并从该值中减去时,如何避免 MYSQL CONVERT() 方法出错?
我正在使用 MySQL 8 并且在使用这种类型的查询时遇到问题: INSERT INTO review (name, create_date) VALUES('name', CONVERT(timestamp, DATETIME) - 1) 在where 子句。当时间戳的值类似于“2020-12-16 06:15:01”时,它正在工作。
但是如果值为 0 秒(例如:'2020-12-16 06:15:00'),则会丢弃错误。
我在整个项目中都使用了这种表达方式。这个问题有没有简单的解决方案,而不改变每个表达式?那是一个错误吗?
此问题的一种解决方案是:
但正如我已经提到的,这需要更改每个表达式。
mysql - 如何根据条件创建插入函数
我的功能有点问题。我收到语法错误,我不知道如何一次插入多个内容。
本质上,我希望该safe_insert()
功能包含:
_museum_id
id
从museums
表__curr_date
一串日期,例如。2021-01-23 09:23:48
_customers
用逗号分隔的字符串,例如。bob, billy,zoey,sarah,heather
但是,当它插入组成员时,它应该在 中插入 5 行group_members
,因为在这种情况下有 5 个名称 ( bob,billy,zoey,sarah,heather
)。
错误/问题:
- 我不知道如何修复的语法错误
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 9
- 我也不知道如何用逗号分隔字符串以插入 5 行。
表:
我的功能:
mysql - Float 的十六进制对话 - Big Endian
我在将十六进制字符串转换为浮点数时遇到了一些挑战。
这是一个例子:
十六进制:3F62 0C3C
二进制:“00111111011000100000110000111100”
对话结果(float big endian):0.8829992
这种转换可以用 mysql 函数实现吗?如果可能的话 - 怎么做?
谢谢您的帮助。
mysql - Mysql 中的 NTILE 函数在列上得到很好的分布
您好这个查询我正在尝试在 MySQL 中运行以在我的 ID 上获得良好的分布,但看起来语法上有一些问题。
这在 Oracle 中有效,但不是 MySQL,可能看起来它在 MySQL 5.7 中不可用。我们还能如何获得这些数据?
基本上我有生成的 UUID 应用程序,可以订购,需要组织和分组,然后分成 16 段。
预期产出
mysql - 每次我选择它时,MySQL 函数的执行时间都会增加
有点奇怪。我有一个函数起初运行得非常好,比如在选择返回值和其他一些列时执行 15ms 和 10ms 获取。但是,如果不断刷新相同的查询,一遍又一遍,查询的执行就会上升。所以首先是 15 毫秒,然后是 17 毫秒,然后……我一直到 900 毫秒。主要是获取及时增加,但执行也是如此。所以最后它将是 600 毫秒的获取和 300 毫秒的执行。有什么想法吗?
功能。我只尝试了一个简单的 IF/ELSEIF,但它在性能方面给出了完全相同的结果。
使用 var_account_id = 1 运行一次后的功能说明
在 account_id 和 expiring_at 上放置复合索引完全没有效果
我运行一个简单的查询,比如
我已经在更复杂的查询上运行它,但结果总是一样的,一开始很快,重新运行相同的 SELECT 后速度很慢,比如说每秒 5 次,持续 30 秒。即使我让 MySQL 冷却了一会儿,回来,第一次运行仍然是 900 毫秒。而且我相信它可以继续上涨。解决此问题的唯一方法是在 Windows 中重新启动 mysql 服务。
SELECT的解释:
如果重要的话,我会在 Windows 10 上运行这些,本地。
mysql - 用于将实体迁移到新表中的 MySQL 查询
在我们的数据库中,我们有一些表,其中的实体有时会附加一个文件,因此它们有一个file
在磁盘上存储该文件名称的列。
我创建了一个名为的新表files
,我需要将所有file
填充了该列的实体“复制”到该表中。最终,我file
将从所有原始表中删除该列。
该files
表还必须有一个rel_id
列和table_name
它来自的表的一个。
由于“employee1”没有文件,当然不会有那个文件的插入。
我怎样才能做到这一点?我尝试了一个带有子选择的插入语句,但我意识到我需要一个类似循环的东西。我可以在 MySQL 中执行此操作吗?