我想在数据库中插入新记录(如果尚未存在)。我知道如果我创建该列unique
我可以这样做,但是因为已经存在多个冗余记录而无法执行此操作。所以我希望我插入的任何新记录只有在不存在的情况下才能插入。
样本表供参考
id name
1 a
2 b
3 c
答案 0 :(得分:1)
在插入之前执行选择查询:
Select id from tablename where name = 'a' limit 1;
然后检查结果是否有行。如果它没有行,则执行insert语句。
答案 1 :(得分:0)
INSERT IGNORE INTO ...您可以找到有关已接受的答案on another question的更多信息。
答案 2 :(得分:0)
我将使用伪代码来解释。 使用带有WHERE的选择查询,该查询将仅选择等于输入类型的值/值的值/值。 您必须将值存储在变量中,一个变量用于输入类型,一个变量用于存储select查询的值。
在此之前不要忘记存储变量,因为如果你进行搜索,它会读取值但不会存储它,第二个原因是它会帮助你获取if和else if。
另外我建议你看看POST方法和REQUEST方法和逻辑运算符(例如:&&,||等......)
你应该使用if和a else if。
if可能是: 如果variable1 =变量2
echo"数据已存在" ;
if
的结尾其他如果可能:
插入查询 其他的结尾
您应该回应从select查询中获得的值,以确保您的测试。