知道新记录是否已经存在

时间:2014-03-24 21:02:05

标签: sql

我试图检查我即将在我的桌子上插入的记录是否已经存在,但它必须检查2个字段对阵列...

我有一个用户和年份的表,就像这样

john, 2002
john, 2003
john, 2004

我的插入语句就像这样

foreach ($years as $value) {
$queryinsert = "INSERT INTO  payments VALUES ('$var1','$value')";

但变量$ years具有此值(1999,2000,2001,2002,2003)

如果已经拥有该年度的用户,我可以在数据库中插入此值之前进行检查 并在用户约翰已经为2002年,2003年支付的用户信息中报告!

1 个答案:

答案 0 :(得分:0)

试试这个:

$queryinsert = "INSERT INTO payments (name,year)
SELECT * FROM (SELECT '$var1','$value') AS tmp
WHERE NOT EXISTS (
    SELECT name, year FROM payments WHERE name = '$var1' AND value='$value'
) LIMIT 1;"

我假设您的列名称为nameyear。你应该将它们改为实际的。