查明具有特定值的主键是否已存在于表中的最佳方法是什么?
我能想到的:
SELECT key FROM table WHERE key = 'value';
并计算结果,或者:
SELECT SQL_CALC_FOUND_ROWS key FROM table WHERE key = 'value' LIMIT 1;
SELECT FOUND_ROWS();
最佳答案
我认为你在问题中的任何一个建议都是合适的。
不过,根据您使用它的方式,您可以通过执行 INSERT IGNORE 来节省时间,这允许您在主键不存在时插入新行。如果它确实存在,错误将被忽略,因此您可以照常继续。
根据您的使用情况,其他类似选项包括使用 REPLACE 或 INSERT ON DUPLICATE KEY UPDATE 类型的插入。这允许您在主键已存在的情况下更新现有条目,否则它只会插入您的新条目。
关于mysql - 如何找出某个值是否作为主键存在于mySql中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/164927/