我的桌子由3个值组成 -
id是一个自动增量int值,其余是文本。
我的PHP脚本每半小时检索一次程序的最新版本,并将其存储在sql表中。我想要的是php脚本检查表中是否已经存在值(即没有新版本)。如果不是,我希望它插入新数据。 为了明确这一点,我没有取代“长”的价值。我只是在创造它的新价值而'id'正在记录已经有多少版本。
答案 0 :(得分:4)
使用EXISTS关键字。
INSERT INTO Table (Col1, Col2, Col3)
Values(?, ?, ?)
WHERE NOT EXISTS (
SELECT Col1 FROM TABLE
WHERE Col1 = ? AND Col2 = ? AND Col3 =?)
您可以找出实际需要测试的列。
答案 1 :(得分:0)
您可以在 long 列上添加 UNIQUE 索引并使用 INSERT IGNORE :
INSERT IGNORE INTO versions (long, short)
VALUES (?, ?)
如果密钥已经存在,MySQL将生成警告(不是错误),既不会插入也不会更新任何行。