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

时间:2017-02-02 08:38:59

标签: php mysql sql database

我想在数据库中插入新记录(如果尚未存在)。我知道如果我创建该列unique我可以这样做,但是因为已经存在多个冗余记录而无法执行此操作。所以我希望我插入的任何新记录只有在不存在的情况下才能插入。

样本表供参考

id name

1   a

2   b

3   c

3 个答案:

答案 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查询中获得的值,以确保您的测试。