不支持这个功能吗(不支持的功能)

lxf2023-10-31 12:50:01

MySQL 3.9中不支持的功能

本节介绍了在其他数据库中可用但在MySQL中不可用的函数。它介绍了哪些功能被省略了,需要时该怎么做。一般来说,MySQL会忽略某些函数,因为它们会对性能产生负面影响。有些功能在开发者的计划清单上,一旦找到一种方法,在不影响良好性能的目标下实现相应的功能,就会实现。

■子选择。子选择是嵌套在另一个select语句中的SELECT语句,如以下查询所示:

从分数中选择*

WHERE event _ id IN(SELECT event _ id FROM event WHERE type = " T ")

子选项打算在MySQL3.24中给出,然后就不忽略了。但是到那时,许多用子选择编写的查询也可以用连接编写。请参考第3节。8.1“写选段作为连接”。

■交易处理和提交/回滚。事务是由其他客户端作为一个整体不间断执行的一组SQL语句。提交/回滚功能允许几个语句作为一个整体执行或不执行。也就是说,如果事务中的任何语句失败,则直到该语句之前执行的所有语句的功能都将被撤销。YSQL自动同步单个SQL语句,以避免客户端相互干扰。(例如,两个客户端不能同时写入同一个表。此外,通过使用锁表和解锁表,可以将几个语句组合成一个整体,使您能够完成单个语句的并发控制无法满足的操作。MySQL与事务处理相关的问题是,它不能自动组织几条语句,如果其中一条语句失败,它就不能回滚。

为了找出事务处理有用的原因,可以举几个例子。如果您在服装销售行业工作,每当您的销售人员进行销售时,您都应该更新库存数量。以下示例说明了多名销售人员同时更新数据库时可能出现的问题(如果库存衬衫的初始数量为4 7):

T1销售人员1销售了3件衬衫。

T2销售人员检索当前衬衫数量(4 7):

从库存中选择数量,其中item = "shirt "

T3销售人员2销售了2件衬衫。

T4销售人员2检索当前衬衫数量(4 7)

从库存中选择数量,其中item = "shirt "

T5销售人员1计算出新的库存数量为47-3 = 44,并将衬衫数量设置为44:

更新库存集数量= 44,其中item = "shirt "

T6销售人员2计算出新的库存数量为47-2 = 45,并将衬衫数量设置为45:

更新库存集数量= 45,其中item = "shirt "

在这一系列事件结束时,你已经卖出了5件衬衫,但是库存编号是45而不是4 2。问题是,如果您在一个报表中查看库存,并在另一个报表中更新其价值,这就是一个多报表事务。第二条语句中的活动取决于第一条语句中检索到的值。但是,如果独立的事务发生在重叠的时间范围内,那么每个事务的语句就会相互交织,相互干扰。在事务数据库中,每个销售人员的语句都可以作为一个事务来执行,因此销售人员2的语句在销售人员1的语句完成之前不会执行。在MySQL中,有两种方法可以实现这个目标:

adminjs.cn是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 Adminjs.cn还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 在Adminjs.cn中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!