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这听起来是一个不错的方法,感谢没有问题&祝您好运!