Php 在表中搜索值,如果未找到该值,则自动插入

Php 在表中搜索值,如果未找到该值,则自动插入,php,mysql,sql,Php,Mysql,Sql,是否可以在MySQL中搜索一个值,如果找不到该值,则自动插入该值 例如: 这是我的桌子。id是自动递增的,case id由我插入 当我在搜索框中搜索号码时。如果该数字不在表中,它将自动将其插入表中 id |案例id 1 | 324 2 | 789 3 | 314 当我在搜索框中搜索123时,123的数字不在我的表中,因此123的数字将自动插入我的表中 id | case id 1 | 324 2 | 789 3 | 314 4 | 123 这可能吗 这是我的密码 mysql_selec

是否可以在MySQL中搜索一个值,如果找不到该值,则自动插入该值

例如: 这是我的桌子。
id
是自动递增的,
case id
由我插入 当我在搜索框中搜索号码时。如果该数字不在表中,它将自动将其插入表中

id |案例id

1 | 324

2 | 789

3 | 314

当我在搜索框中搜索123时,123的数字不在我的表中,因此123的数字将自动插入我的表中

id | case id
1  | 324
2  | 789
3  | 314
4  | 123
这可能吗

这是我的密码

mysql_select_db($database_connection_db, $connection_db);
        $query_viewAduan = mysql_query("SELECT No_KP, COUNT(*) FROM aduan_tidak_hadir WHERE No_KP LIKE '%".$no_kp."%' GROUP BY No_KP;");

        while ($row = mysql_fetch_array($query_viewAduan))
            {
                if (!$row['COUNT(*)'])
                {
                    echo 'satu';
                }
                else if ($row['COUNT(*)'] == '1')
                {
                    echo 'dua';
                }
                else if ($row['COUNT(*)'] == '2')
                {
                    echo 'tiga';
                }
            }           

是的,这是可能的,但不适用于简单的sql语句。这必须通过名为PLSQL的sql扩展来完成。如果您知道PLSQL,那么请继续阅读,或者在阅读完整答案之前就到此为止并学习它

以下是问题代码:

declare numb my_table.case_id%type 
begin 
select case_id into numb from my_table where numb=case_id;
exception 
when no_data_found then 
insert into my_table values(/*you said the id auto_increments so I'm leaving this one out*/,numb); 
end;

因为我不知道你们桌子的名字,所以我把它叫做我的桌子。试试这个,它应该会起作用。

在我开始回答之前,先做一个简短的说明。无论何时你问一个问题,无论是在网络上还是对其他人,你都应该已经试过了。这对任何学科都是正确的。如果你想开车,你必须先试着发动它。很明显,你试过了,但在一个更技术性的主题中,我们需要知道你确实试过一些东西,你试过的东西不起作用。很多时候,人们会问这些问题,因为用户实际上什么也没试过。尝试一些东西很重要,因为那是你真正的学习经历。仅仅按照这里给你的一套说明来做,在将来对你没有帮助

现在开始帮助你解决你的问题。您已经将您的问题标记为
PHP
MySQL
问题,这表明您不需要在单个MySQL查询中执行此操作。我不会给你代码来做这件事,但我会为你指出一些示例代码的方向

让我们将您的问题分解为实际步骤:

在表中搜索值 这是你问题的第一部分。这是一个基本的select语句。我相信你会明白的。如果没有,谷歌搜索
MySQL选择

如果未找到该值 这是问题的第二部分,本质上定义了在PHP中必须执行的操作。您需要检查是否未找到该值。您需要从表
步骤中的
搜索值查看select语句的结果,并确定它是空的还是包含结果

自动插入
在这一步中,如果没有找到值,我们可以根据上一步
,确定是否应该插入该值。关于如何插入的说明,谷歌
mysql-insert

mysql-insert:有人能给我看一下php代码吗……我对代码一无所知。。。我在互联网上做了很多研究,但仍然无法获得匹配代码来完成这项工作……感谢您,您所做的研究非常少,因为这项研究的覆盖范围超过了一百万sites@lysw把你想做的事情分解成更小的部分,并按照正确的顺序去做。在case_id上添加一个唯一的索引,然后使用insert;如果它已经在那里,你就不会得到一个副本。