问题标签 [mysql-8.0]
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 - 如何使用 Express 将 Node.js 与 MySQL 8.0 连接起来?
我正在尝试使用 Express 将 Nodejs 与 MySQL 8.0 连接起来。我的代码:
上面的代码在官方 Express 页面中,但我想它适用于 8.0 以下的 MySQL 版本。
当我运行项目时,我得到下一个错误:
之前安装了 MySQL
mysql - 如何在 MYSQL 8 中查找表的下一个 AUTO_INCREMENT 值
我正在使用下面的查询来查找 MYSQL 5.7 中表的下一个 AUTO_INCREMENT 值
但是,MYSQL 8 中的相同查询返回 NULL。我在我的应用程序中使用了上面的查询,它在 MYSQL 5.7 中运行良好,但在 MYSQL 8 中表现异常。
谁能建议如何在 MYSQL 8 中找到下一个 AUTO_INCREMENT 值。
此外,如果有一个通用查询同时适用于(MYSQL 5.7 和 8),那么它会非常有帮助。
mysql - 在 MySQL 中使用 CTE 更新或删除
MySQL 8.0 的新版本现在支持Common Table Expressions。
根据手册:
在 SELECT、UPDATE 和 DELETE 语句的开头允许使用 WITH 子句:
所以,我想,给定下表:
我可以使用以下查询:
为了从表中删除重复项,就像我在SQL Server中所做的那样。
事实证明我错了。当我尝试DELETE
从 MySQL Workbench 执行语句时,出现错误:
错误代码:1146。表 'todelete' 不存在
当我尝试UPDATE
使用 CTE 时,我也会收到一条错误消息。
所以,我的问题是,如何在 MySQL 中的or语句WITH
的上下文中使用子句(如 8.0 版手册中所述)?UPDATE
DELETE
mysql - 在 mysql ver 8 中从 mysql cli 错误调用 mysql 函数 PASSWORD
我正在使用 mysql 8.0 版
从 mysql cli 我试图调用函数 PASSWORD。所以我使用了以下命令:
mysql > 选择密码('123');
但在这种情况下我收到以下错误: ERROR 1064 (42000): You have an error in your SQL syntax; 检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '('123')' 附近使用正确的语法
我还尝试了以下方法:
mysql > 选择密码(“123”);
mysql > 选择密码(`123`);
但是每一个都给出相同的错误。我也搜索了很多,但找不到任何解决方案。
我该如何解决这个问题
问候,坦维尔
mysql - 如何在外部为 MySQL 创建密码哈希?
我曾经能够通过两次通过 sha1 运行我的密码来创建与 MySQL 兼容的密码,但似乎这在 MySQL 8 中不起作用。
MySQL 现在似乎使用这些密码插件。因此,语法是(在 JS 中):
我想在 Node.js 中创建适用于 MySQL 的密码。我知道我可以只使用纯文本密码并让 MySQL 对其进行哈希处理,但我将此 SQL 打印到终端并且我不希望密码可见,所以我想对它们进行预哈希处理。
什么算法适用于 MySQL 8?我愿意使用任何内置的密码插件。
sha256_password听起来不错,但我不认为它是一个直接的 sha256 哈希,听起来它内置了一个盐,所以我不确定如何在 Node.js 中创建一个。
MySQLPASSWORD()
功能也消失了。我真的不想对SELECT PASSWORD(:plainTextPass)
我的密码进行哈希处理,但现在这甚至不是一个选择。
postgresql-10 - 哪个数据库对窗口函数 MySQL 8.0 或 PostgreSQL 10 的覆盖率更高?
我对计算移动窗口范围的统计数据感兴趣
mysql - 从 MySQL 中的查询列创建排名列
我想在我的查询中建立一个排名列——我在 Stack 上发现了一些类似的案例,但这个有点不同,我不能让它工作。我有一个表 EnrollmentX,它有两列,一个唯一的 StudentID 和一个 GroupId(为了论证,组 1:3)。我需要同时计算这三个组中每个组的学生人数,然后按学生人数对这些组进行排名。就计数而言,我已经做到了:
这会输出两列,一列用于 GroupId,1:3,另一列用于 StudentCnt,每个组中的学生人数正确。我无法解决的是如何在构建该 StudentCnt 列之后使用它来创建第三个排名列。
php - 如何使用 mysql 8 docker 测试 laravel 5.6
由于mysql 8中的新哈希算法,我无法在gitlab中针对此 mysql 版本成功运行 CI 测试。
我相信这也适用于其他 CI 引擎。
让我们假设 my.gitlab-ci.yml
就这么简单:
这是我得到的错误:
我发现了不同的帖子,关于重新配置 mysql 实例,但是这个图像是官方的 mysql docker,我相信它应该以相同的方式工作,跨不同的版本......
从 mysql:5.5 到 5.7 的图像没有引入任何问题,但是使用 mysql:8.0 我得到了如前所述的错误...
到目前为止,我还没有找到任何解决方案来解决这个问题。
有任何想法吗?
mysql - mysql 8窗口函数错误结果
我在 MySQL8 中遇到了窗口函数的问题 - 它们在应用于大型表时会给出不正确的结果(或者:大量行或大量列)。
示例:表:来自https://www.kaggle.com/c/home-credit-default-risk/data的 Bureau.csv(170 万行)
我运行 3 个简单查询,仅更改要使用的表的行数和要输出的列数。您可以清楚地看到,大量行和许多输出列的组合给出了“count(*) over()”的错误结果 - 最后一列。
Ubuntu 16.04,32GB 内存
非常感谢您的帮助!:)
维托德
要运行的代码:
编辑: 解释和索引图片
还有一件事我注意到:在“不正确”图片中,所有列都不正确(不仅是最后一个) - 与“GOOD”结果的图片进行比较”(查看 sk_id_curr)。
根据 Wilson Hauck 的要求:A)完整(未编辑)my.cnf-ini 文本结果:B)显示全球状态;C) 显示全局变量;D) 显示 ENGINE INNODB 状态;SHOW CREATE TABLE 局; 第 1部分 第 2 部分
DB Fiddle 上的 1000 行示例:https ://www.db-fiddle.com/f/fzXsN6vFzidhanxeUjWkiB/0
我将数据导入mysql的方式:
首先,我将 csv 中的“空格”替换为 python 中的“NULL”:
其次我在mysql中使用了代码: