问题标签 [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.
mysql - 一个神秘的 MySQL 选择查询
我有以下按关系描述的关系表:
对产品运行此查询会带来预期的结果:
但是对于运行此查询的product_type=8的任何其他产品,都会带来一个空数组!:
谁能指出我的谜团(或者我太笨了,花了3个小时后我也找不到它!)在这里继续!
编辑 :
speclist 表采用一些规范并将它们分类为“短”列表和“长”列表。这就是我在网页上展示它们的方式。候选名单保留 2/3 规格 ID,而长名单通常保留 9/10 规格 ID。
再次强调:
每种产品类型都有一组规格。
每个产品都有该类型规范的子集(产品和规范所属的)
并且每个产品又有两个规格子集,在规格表中按“短”和“长”分类。
mysql - 如何在封装在事务中的存储过程中记录
简短版本: 如果有一个已启动的事务可能会回滚,那么如何将某些内容记录到日志表中?(事务的回滚也会回滚日志条目,这是这里的问题。)
长版:
我有一个存储过程,让我们调用它sp_A
来调用其他存储过程,让我们调用它们sp_B
和sp_C
. 为了一致性起见, anXA TRANSATCION
开始于sp_A
. 我真正想做的是记录执行sp_B
或sp_C
失败,如果是,哪些是传递给失败的存储过程的参数。但是,sp_B
在sp_C
某些表中进行一些插入操作时,我需要做一个XA ROLLBACK
ifsp_B
或sp_C
失败。
所以我的问题是:如何在事务中登录表(或如何在事务范围之外执行插入语句)?
给你一个我想做的小例子(我已经简化了代码并重命名了大多数用于解决问题的参数/变量,我永远不会梦想使用像a
,b
或c
;-) 这样的参数名称):
存储过程sp_A
如下所示:
存储过程sp_B
如下所示(sp_C
看起来很相似):
sp_Log
只是将数据插入到我想用作我的logging table
.
所以实际上内部的日志记录sp_A
工作得很好(因为调用sp_Log
在事务之外)但是内部的日志记录将不起作用,因为通过回滚开始的事务,通过调用内部sp_B
或完成的插入当然会被恢复。sp_C
sp_A
sp_Log
sp_B
sp_C
(我已经简化了示例, insp_B
和sp_C
。除了一个简单的插入语句之外,还有更多的事情发生,只是为了获得更多乐趣,还有事务开始并在sp_B
and内提交/回滚sp_C
。)
我会很感激你能给我的任何提示。谢谢!
mysql - SQL 查询未根据 BETWEEN 条件运行
我有以下 SQL 查询:
当我运行上述查询时,我得到了表中结果记录的计数。出于某种原因,它忽略了BETWEEN
我所包含的条件。最终,我必须使用DELETE
而不是,SELECT
我会做类似以下的事情:
如果我使用DELETE
,我会不小心删除表中的所有记录。请让我知道我做错了什么。
mysql - CollectionMAx My SQL5.5
我的收款软件在处理付款时遇到问题。
我对 MYSQL5.5 不熟悉,并且不断收到关于我的列与行值不匹配的错误。
确切的错误信息如下:
更新数据库时出错:列计数与第 1 行的值计数不匹配
我知道可能触发器正在运行。但我不明白如何解决这个问题。有人可以提供一点帮助。也许一步一步来。错误消息的图像如下:
mysql - MySQL LIKE Query 从 5.1 到 5.6 更改为全表扫描
出于某种原因,MySQL 5.6 会进行全表扫描,而 MySQL 5.1 则不会。为什么会这样?
编辑:两个表具有相同的确切索引
在 MySQL 5.1 上
在 MySQL 5.6 上
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
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?
任何指导或相关经验将不胜感激。
mysql-5.5 - 从表 A 中获取不在表 B 上的随机单词?
我有 2 个表如下(这是一个 phpMyAdmin 转储,这就是它具有 ALTER TABLE 的原因):
而且我需要从中获取一个唯一的随机词,因为我在definition
表上有数百万条记录,RAND
直接使用不是一种选择。
我确实有一个查询会得到一个随机词,就是这个:
但是,这将根据 id 选择单词,而无需进行任何我需要的检查。现在假设它随机选择id
了 200 万个单词,并且没有给出可用的单词,r1.id >= r2.id
所以我没有得到任何结果,但如果它更少,它可能会产生很多结果。
现在我已经归结为:
从表中definition_used
我需要确保 aword
今天没有使用,以便被重用,所以 aword
可以有多个条目,只要ts_created
不与同一日期冲突,因此我检查:
然而出来的词有 0 随机化,我怎样才能从列表中得到一个随机词?
我已经看到了一些其他问题,您可以在其中使用最大 id 定义随机条目的单个表来执行此操作,但除了单词本身之外,我没有从definition
表引用到表。definition_used
- 简而言之,我需要能够从可用的未使用词中选择一个随机词,这是我不知道该怎么做的。
mysql - MySQL 正则表达式验证字段值是域或子域
我正在尝试将域名列表从旧系统转移到新系统。
问题是旧数据库中的数据被用作参考并包含附加信息,但新系统将与 cpanel 集成,因此域必须正确。
我正在尝试自动导入符合我要求的旧数据,并将不符合要求的约 4% 留给手动导入。
我使用了一个正则表达式来实现这一点,但由于某种原因,它没有像我预期的那样工作。
这是我使用的条件:
它正确地将以下内容标识为无效:
但失败了:
我非常了解正则表达式,但我不知道为什么在这种情况下它不起作用。
小提琴网址:http ://sqlfiddle.com/#!2/a9d70/5
应该验证的示例:http ://www.regexr.com/39f4v
mysql - 未在 BEFORE UPDATE 触发器中设置的列的值是什么?
根据 MySQL
在更新前触发器中,有两个 mysql 扩展,即 NEW 和 OLD 来引用更新行的旧列值和新列值。
说,我的桌子是:
我已经插入了 1 行:
如果我运行如下更新:
然后在此表的更新前触发器中,以下值将是什么: