Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果nrecord不存在而不使用unique,则插入mysql表_Php_Mysql_Sql_Database - Fatal编程技术网

Php 如果nrecord不存在而不使用unique,则插入mysql表

Php 如果nrecord不存在而不使用unique,则插入mysql表,php,mysql,sql,database,Php,Mysql,Sql,Database,我想在数据库中插入新记录(如果尚未存在)。我知道如果我使该列唯一,我可以这样做,但不能这样做,因为已经存在多个冗余记录。因此,我希望我插入的任何新记录只能在尚未出现时插入 参考样本表 id name 1 a 2 b 3 c 在插入之前,请执行选择查询: Select id from tablename where name = 'a' limit 1; 然后检查结果是否有行。如果没有行,则执行insert语句。insertIGNOREINTO。。。您可以找到有关已接受答案的

我想在数据库中插入新记录(如果尚未存在)。我知道如果我使该列
唯一
,我可以这样做,但不能这样做,因为已经存在多个冗余记录。因此,我希望我插入的任何新记录只能在尚未出现时插入

参考样本表

id name

1   a

2   b

3   c

在插入之前,请执行选择查询:

Select id from tablename where name = 'a' limit 1;

然后检查结果是否有行。如果没有行,则执行insert语句。

insertIGNOREINTO。。。您可以找到有关已接受答案的更多信息。

我将使用伪代码进行解释。 使用select查询,其中只选择与输入类型的值相等的值。 必须将值存储在变量中,一个变量用于输入类型,另一个变量用于存储select查询的值

在此之前,别忘了存储变量,因为如果你进行搜索,它会读取值,但不会存储,第二个原因是它会帮助你确定if和else if

此外,我还建议您查看POST方法和请求方法以及逻辑运算符(例如:&&、| |等)

你应该使用if和else if

国际单项体育联合会可以是: 如果变量1=变量2

echo“数据已经存在”

国际单项体育联合会结束

如果可以,则可以是:

插入查询 世界末日


您应该回显从select查询中获得的值,以确保您的测试。

尝试使用merge语句。您总是可以先搜索数据库以计算出现的次数,然后如果计数为0,则执行插入。@PhilipThomson这听起来是一个不错的方法,感谢没有问题&祝您好运!