计算机数据库

“陷阱” DML-队更新的MySQL

每一个程序员,谁曾与数据库的工作,面对DML运营商(从英文翻译- ..“数据操作语言”),如选择, 插入, 删除 更新。 MySQL的运输也使用其所有上述命令的阿森纳。

这些陈述是逻辑上谈论他的任命 - 选择记录,插入新值,更新现有数据,完整,或按照规定的条件,消除在数据库中的信息。 理论培训材料进行了详细的每个命令及其语法的工作原理说明,但无处发现在使用过程中在实践中可能出现的困难引用。 这种材料将被专门审议其中的一些。

简单说一下DML语句(插入)

在进一步讨论之前,有必要再次回顾关于每个功能的目的更多细节。 我们将有两个运营商感兴趣的详细信息: 插入 更新,因为它依赖于它们派生在处理大量数据的主要困难

您必须使用命令插入开始然后逐渐移动到更新。 MySQL的系统,就像现代的数据库,使用插入操作来新记录添加到现有的表 的数据库。 此操作的语法很简单明了。 它包含将向值进行场,目的地的清单 - 表的名字 - 并立即介绍了数据的列表。 每次执行插入数据库时,会用新值进行更新。

Update语句

然而,在实践中,经常有,对于一些数据集的一个或多个属性值进行更新的情况。 作为一个例子,一种情况:公司是改革与主要部门的进一步重命名。 在这种情况下,有必要让每个部门的变化。 如果只是更改名称,那么这个问题可以很快得到解决。 然而,如果改变整个生产,这通常作为主键,即是各成分的编码,进而,需要改变的信息,并为每个员工。

更新 - DML-符可以应用到解决这个问题。 MySQL-服务器,拥有大量的条目,以更新语句的帮助下操作,执行所需的查询和解决问题。 但有时会发生在更新的不是很清楚,很难解释的复杂性。 这是什么原因造成的记录更新,将进一步讨论的难度。

什么几乎没有在理论上已经说...

更新团队,如上所述,是用来更新表中的现有记录。 但在实践中,客户端访问数据库服务器并不总是已知的,是有一定的桌子或没有数据。 初步检查数据的可用性数据库的结果的费时和服务器功能浪费的后续更新。

为了避免这种情况,在一个特殊的数据库MySQL的结构-插入*更新,在其中插入或更新可以相互独立地进行。 也就是说,当表特定条件的项目,将被更新。 如果考虑的条件下,数据不会被人发现时,MySQL服务器能够执行数据上传请求。

更新数据时有重复

这个插入的一个重要组成部分-请求到MySQL数据库管理系统- «于重复键更新»前缀。 查询的完整的语法如下:«插入TEST_TABLE(employer_id,名称)的值( 1,‘阿布拉莫夫’)上的重复键 LAST_MODIFIED = NOW更新(); ”。

这样的请求可被用来记录的动作,例如,确定该交叉路口通过时刻企业随后计数时间间隔和检测延迟。 为了不使表几条记录,足以让每个员工随时记录与不断更新。 这是一个重复的检查设计允许它。

其实问题...

考虑在入口处的登记人员的动作的上述例子中,作为问题是使用samouvelichivayuschihsya(自动 _ 增量)字段,其通常用于填充主键值(主 _ 密钥)。 如果你在设计中使用MySQL更新命令插入 汽车 _ 增量,现场不断增加。

同样,使用重复检测的情况下,更换施工时发生的一切。 “自动递增”值,即使在不需要它增加的情况下。 正因为如此,问题出现溢出通的值或范围,其随后导致数据库管理系统的故障。

最有可能的问题

说明了问题必须要考虑的Web开发人员,因为它是最常见的多用户系统(网站,门户网站,等等。P.),当系统中进行了大量的程序插入 更新MySQL的。

PHP -呼吁基地经常进行。 因此,要实现最大利润,定义为AUTO_INCREMENT,迅速发生,并在困难的分析中遇到建立的原因是行不通的。

因此,我们鼓励开发者意识到要使用命令mysql的更新 重复键的设计 选择-访问查询时,数据库服务器将没有错误的工作,但增加新的记录到数据库中充满了对未来导致严重的问题不愉快的情况。 另外,建议为自动递增字段开始检查他们的记录,然后按住他们更新。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhcn.unansea.com. Theme powered by WordPress.