php - 如何确认 mysql 数据库中键列表的存在

标签 php mysql sql

我有一个包含“键”字段的数据库表,该字段保存系统生成的键。

| id | key                 | etc.
|====|=====================|================= 
|  1 | osi32i4kjwlqe       |
|----|---------------------|-----------------
|  2 | klwjeklj1343k       |
|----|---------------------|-----------------
|  3 | dfk32ld32ll23       |
|----|---------------------|----------------
|  4 | lk3jkl3j42lk4       |
--------------------------------------------

此外,我还有一个键列表:

{'osi32i4kjwlqe','ksadalala12','klwjeklj1343k','dfk32ld32ll23','lk3jkl3j42lk4','askalksl56'}

请注意,列表中的某些键存在于数据库中,而其他键则不存在。

如果可以的话,我想运行一个高效的查询来遍历列表,并确认数据库中存在该键。

即:如果 key 存在,什么也不做。如果没有,则使用此键插入一个新行。

有人知道有效的方法吗?

谢谢。

最佳答案

我假设您的键列是用 UNIQUE 声明的。如果是这样,只需循环并使用

INSERT IGNORE INTO table ...

对于来自 JSON 数组的每个键。如果没有,好吧,因为我认为这就是你想要完成的事情:)

关于php - 如何确认 mysql 数据库中键列表的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13535937/

相关文章:

php - 临时表与数组

mysql - 在一列中显示数据库中的多个值

php - PHP页面中的SQL请求

php - 如何在页面加载后触发 Javascript 函数?

php - Android - 如何使用 PHP 搜索具有多个条件的 MySQL 数据库?

php - 使用 Laravel 5 在通知系统中标记 is_read

mysql - 如何将字段与Mongo中子文档的另一个字段进行匹配

mysql - 将数据迁移到现有 OracleDB

sql - 获取期初余额

mysql - 在一个大表中搜索 varchar