如何在输入之前检查mysql数据库中是否存在数据

时间:2017-07-05 19:35:35

标签: php mysql sql mysqli

Table 1加载了如下所示的数据,TABLE 2为空,但包含与TABLE1相同的结构我的问题是,如果我想在{{1}中插入数据我想先在TABLE 2中检查,如果TABLE 1中输入的记录与TABLE 2中的NAME列的名称相同,如果TABLE 1不是同一数据应该被忽略而不能输入数据库。

NAME

这些是我的代码到目前为止,即使有其他方式可以做我想要的,如果你与我分享,我会很感激。

 TABLE 1
 ST_ID   NAME          MATHS   GEOGRAPHY   ENGLISH
  1001   Alan Wegman    80       85          70
  1002   Robert Franko  79       65          60
  1003   Francis John   90       75          67
  1004   Finn Harry     88       87          93


  TABLE 2
  ST2_ID   NAME   MATHS   GEOGRAPHY   ENGLISH   ST_ID

`

注意:ST2_ID是自动增量

我需要你的想法。

3 个答案:

答案 0 :(得分:0)

获得$name变量后,您只需使用select语句查询表1,即可查找表1(SELECT * from table1 WHERE NAME=$name)中是否存在特定学生的信息。如果此查询返回任何结果,请执行上面提到的表2中的插入。否则,什么也不做。

答案 1 :(得分:0)

您可以轻松地在PHP中创建它,首先,您进行查询:

SELECT * FROM TABLE2 WHERE name = '$name'

然后:

if(mysql_num_rows($queryExecuted) > 0) { /* insert to table 2 */}

我们检查查询是否至少返回一行(其中$queryExecutedSELECT的返回对象)

答案 2 :(得分:0)

或者您可以通过在insert语句中添加WHERE条件在SQL中执行此操作。也许是这样的:

 insert into student_info (
                           NAME
                         , MATHS
                         , GEOGRAPHY
                         , ENGLISH
                           ) 
 VALUES ('$name'
        ,'$maths'
        ,'$geog'
        ,'$english')"
 WHERE NOT EXIST (select *
                  from table2
                  where name = '$name');