【问题标题】:How to check if a string is already in SQL db如何检查一个字符串是否已经在 SQL 数据库中
【发布时间】:2015-02-10 21:53:42
【问题描述】:

我正在创建一个小插件,它为每个帖子提供一个序列号,每个序列号必须是唯一的,我不知道如何检查生成的序列号是否已经在 SQL 数据库中。

这是密钥生成器代码:

function generateRandomString($length = 5) {
    $characters = '123456789';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return '#'.$randomString;   
$new_SN = generateRandomString(); }

如何检查$new_SN 的值是否已存储在相关的 SQL 表单元格中 - 在我的情况下,表是 wp_postmeta,meta_key 是串行的,而 meta_value 是函数填充的值

【问题讨论】:

标签: php mysql sql wordpress


【解决方案1】:

为什么要生成唯一编号?有很多专门为此目的设计的工具——既然你提到了 MySQL,它支持自动递增整数,PHP 支持 uuid (uniqid()) 和几个散列函数(如果你不想使用序列号)。正如 developerwjk 所说 - 如果您的生成功能完全有效,那么您不应该在保存数据之前进行检查 - 只需添加一个唯一索引并在无法插入时捕获重复项。

【讨论】:

    猜你喜欢
    • 2016-11-06
    • 2021-11-10
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 2014-01-08
    • 2021-10-03
    相关资源
    最近更新 更多