[英]How to check if a record in a table also exists in another table or not in MYSQL
[英]How to efficiently check if record exists in mysql table?
我正在编写PHP kohana应用程序的代码,在其中的一部分中,我需要在表中插入一些记录。
我的表结构:
TABLE BOOKINGS
id int
booked_object_id int
date_from date
date_tom date
该表大约有1万条包含已预订对象的记录。
现在,在我的PHP函数之一中,我有了一个包含新数据的数组,我想将其插入此表中。 执行我的功能时,大约需要插入20-30个新的预订。
现在让我们解决我的主要问题-我希望它检查是否要预订要插入表中的任何预订(object_id和date_from与我的php数组中的相同)。 如果其中任何一个已被预订,我的函数将不会在表中插入任何新内容。
有没有比将mysql表的所有内容放入PHP数组并检查20次(或插入次数)更有效的方法?
如果打算在表中查找某个列,则应为其建立索引。 这将创建一个哈希表,数据库服务器将使用该哈希表查找行。
至于提高20个调用的效率,您可以使用IN
语句在1个调用中选择所有现有记录,而在插入时仅忽略已存在的记录。
参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.