..
而“众所周知,一个正确的查询管理是稳定和有效实施的前提。
在这篇文章中,我们将提出一个鲜为人知但非常强大的语法,我说的ON DUPLICATE KEY UPDATE子句。
该子句用于在INSERT语句,其目的是验证,插入前,有一个主键(主键)或唯一键(UNIQUE KEY)重复,如果发生这种情况的引擎un'UPDATE MySQL将代替插入。
该条款的优点是明确的:你写在性能和代码清理方面具有优势,而不是两个单查询。
让我们以一个例子。 假设我们要作一个简单的脚本,执行对我们网站的访客记录。 下面是我们的数据库表结构:
INSERT的语法感谢... ... ON DUPLICATE KEY UPDATE ... ...我们可以实现一个查询相同的结果:
INSERT INTO ip_visitatori VALUES('123 .123.123.123',1,NOW()) ON KEY DPLICATE UPDATE numero_visite numero_visite = + 1,ultima_visita = NOW();因此,如果IP是包容而成,否则你运行一个简单的更新受影响的记录。 使用这个语法允许获得在性能等于30%计算的好处。
有了一点点的想象力和创造力的问题条款可以有不同的情况下非常有用。
例如,我们可以结合使用条件的。
下面是一个例子:假设你有一个假设性的在线拍卖网站的结构如下表:
信息INTO VALUES(1,120)INSERT ON KEY DPLICATE UPDATE migliore_offerta = IF(VALUES(migliore_offerta)<120,120,VALUES(migliore_offerta))通过在一个简单的查询,我们一举解决了... ... 否则,我们将不得不使用随之而来的资源浪费(和错误更大的风险)几个查询。
| |
MS访问(高级)
了解如何创建和管理数据库迅速和容易。 起价29€。 |
| |
MySQL的(课程)
管理的开放源码数据库。 从39€。 |
| |
SQL和数据库(课程)
创建和管理关系数据库。 从39€。 |