问题标签 [mysql-5.5]

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 回答
51 浏览

mysql - 一个神秘的 MySQL 选择查询

我有以下按关系描述的关系表:

对产品运行此查询会带来预期的结果:

但是对于运行此查询的product_type=8的任何其他产品,都会带来一个空数组!:

谁能指出我的谜团(或者我太笨了,花了3个小时后我也找不到它!)在这里继续!

编辑 :

speclist 表采用一些规范并将它们分类为“短”列表和“长”列表。这就是我在网页上展示它们的方式。候选名单保留 2/3 规格 ID,而长名单通常保留 9/10 规格 ID。

再次强调:

每种产品类型都有一组规格。

每个产品都有该类型规范的子集(产品和规范所属的)

并且每个产品又有两个规格子集,在规格表中按“短”和“长”分类。

0 投票
1 回答
226 浏览

mysql - 如何在封装在事务中的存储过程中记录

简短版本: 如果有一个已启动的事务可能会回滚,那么如何将某些内容记录到日志表中?(事务的回滚也会回滚日志条目,这是这里的问题。)

长版:

我有一个存储过程,让我们调用它sp_A来调用其他存储过程,让我们调用它们sp_Bsp_C. 为了一致性起见, anXA TRANSATCION开始于sp_A. 我真正想做的是记录执行sp_Bsp_C失败,如果是,哪些是传递给失败的存储过程的参数。但是,sp_Bsp_C某些表中进行一些插入操作时,我需要做一个XA ROLLBACKifsp_Bsp_C失败。

所以我的问题是:如何在事务中登录表(或如何在事务范围之外执行插入语句)?

给你一个我想做的小例子(我已经简化了代码并重命名了大多数用于解决问题的参数/变量,我永远不会梦想使用像a,bc;-) 这样的参数名称):

存储过程sp_A如下所示:

存储过程sp_B如下所示(sp_C看起来很相似):

sp_Log只是将数据插入到我想用作我的logging table.

所以实际上内部的日志记录sp_A工作得很好(因为调用sp_Log在事务之外)但是内部的日志记录将不起作用,因为通过回滚开始的事务,通过调用内部sp_B或完成的插入当然会被恢复。sp_Csp_Asp_Logsp_Bsp_C

(我已经简化了示例, insp_Bsp_C。除了一个简单的插入语句之外,还有更多的事情发生,只是为了获得更多乐趣,还有事务开始并在sp_Band内提交/回滚sp_C。)

我会很感激你能给我的任何提示。谢谢!

0 投票
2 回答
31 浏览

mysql - SQL 查询未根据 BETWEEN 条件运行

我有以下 SQL 查询:

当我运行上述查询时,我得到了表中结果记录的计数。出于某种原因,它忽略了BETWEEN我所包含的条件。最终,我必须使用DELETE而不是,SELECT我会做类似以下的事情:

如果我使用DELETE,我会不小心删除表中的所有记录。请让我知道我做错了什么。

0 投票
1 回答
71 浏览

mysql - CollectionMAx My SQL5.5

我的收款软件在处理付款时遇到问题。

我对 MYSQL5.5 不熟悉,并且不断收到关于我的列与行值不匹配的错误。

确切的错误信息如下:

更新数据库时出错:列计数与第 1 行的值计数不匹配

我知道可能触发器正在运行。但我不明白如何解决这个问题。有人可以提供一点帮助。也许一步一步来。错误消息的图像如下:

0 投票
2 回答
239 浏览

mysql - MySQL LIKE Query 从 5.1 到 5.6 更改为全表扫描

出于某种原因,MySQL 5.6 会进行全表扫描,而 MySQL 5.1 则不会。为什么会这样?

编辑:两个表具有相同的确切索引

在 MySQL 5.1 上

在 MySQL 5.6 上

0 投票
2 回答
45 浏览

mysql - Can't insert data into data base

i have written a code to insert data in data base its is

As i have avoided the sql injection and used preparedstatement i am still getting this error in my server log:

i double checked it as nothing is wrong with the syntax then what is the problem can anybody help

0 投票
1 回答
2526 浏览

mysql - mysql server 5.6 和 mysql (client) 5.5 完全兼容吗?

我在这里的某些方面有点新手,没有找到相关信息......

我有一个安装了 5.5 版本的 mysql 客户端的 AWS 实例。还有一个带有 mysql 5.6 的 RDS 数据库实例(为了使用 t2.micro)。我不这么认为,但是,在您的意见/经验中,这会在它们之间请求查询(通过 PHP,特别是 Symfony2)时产生某种麻烦吗?

我希望不是;但如果是的话,那么在实例中升级我的mysql客户端是绝对必要的,或者有没有其他方法可以在5.5的mysql服务器上使用t2.micro?

任何指导或相关经验将不胜感激。

0 投票
1 回答
127 浏览

mysql-5.5 - 从表 A 中获取不在表 B 上的随机单词?

我有 2 个表如下(这是一个 phpMyAdmin 转储,这就是它具有 ALTER TABLE 的原因):

可以在这里找到一个 SQLFiddle...

而且我需要从中获取一个唯一的随机词,因为我在definition表上有数百万条记录,RAND直接使用不是一种选择。

我确实有一个查询会得到一个随机词,就是这个:

但是,这将根据 id 选择单词,而无需进行任何我需要的检查。现在假设它随机选择id了 200 万个单词,并且没有给出可用的单词,r1.id >= r2.id所以我没有得到任何结果,但如果它更少,它可能会产生很多结果。

现在我已经归结为:

从表中definition_used我需要确保 aword今天没有使用,以便被重用,所以 aword可以有多个条目,只要ts_created不与同一日期冲突,因此我检查:

然而出来的词有 0 随机化,我怎样才能从列表中得到一个随机词?

我已经看到了一些其他问题,您可以在其中使用最大 id 定义随机条目的单个表来执行此操作,但除了单词本身之外,我没有从definition表引用到表。definition_used

  • 简而言之,我需要能够从可用的未使用词中选择一个随机词,这是我不知道该怎么做的。
0 投票
1 回答
893 浏览

mysql - MySQL 正则表达式验证字段值是域或子域

我正在尝试将域名列表从旧系统转移到新系统。

问题是旧数据库中的数据被用作参考并包含附加信息,但新系统将与 cpanel 集成,因此域必须正确。

我正在尝试自动导入符合我要求的旧数据,并将不符合要求的约 4% 留给手动导入。

我使用了一个正则表达式来实现这一点,但由于某种原因,它没有像我预期的那样工作。

这是我使用的条件:

它正确地将以下内容标识为无效:

但失败了:

我非常了解正则表达式,但我不知道为什么在这种情况下它不起作用。

小提琴网址:http ://sqlfiddle.com/#!2/a9d70/5

应该验证的示例:http ://www.regexr.com/39f4v

0 投票
0 回答
59 浏览

mysql - 未在 BEFORE UPDATE 触发器中设置的列的值是什么?

根据 MySQL

在更新前触发器中,有两个 mysql 扩展,即 NEW 和 OLD 来引用更新行的旧列值和新列值。

说,我的桌子是:

我已经插入了 1 行:

如果我运行如下更新:

然后在此表的更新前触发器中,以下值将是什么: