仅更新具有唯一 ID 的记录

Update only records that have a unique id

仅当该 ID 只有一条记录时,我才需要更新 table 中的记录。如果已经有不止一条记录,我还需要插入记录。

UPDATE survey, survey_errors 
SET survey.depth = survey_errors.max_depth
WHERE survey.depth=-1
AND survey.hole_id=survey_errors.hole_id 
AND survey_errors.max_depth Is Not Null

但是现在如何确定 survey.hole_id 是否唯一?

按照您的要求,通过这种方式可以找到uniqueId:

SELECT
    col1, col2
FROM
    YourTable
GROUP BY
    col1, col2
HAVING 
    COUNT(*) = 1

可以简单的使用DISTINCT。它将 return 为您提供没有重复的结果。

SELECT DISTINCT col1, col2
FROM YourTable

更新应该是这样的(这将只更新唯一值):

UPDATE TblName
SET Anything = Anything2
WHERE Anything IN ( 
    SELECT
        Anything 
    FROM
        TblName
    GROUP BY
        Anything
    HAVING 
        COUNT(*) =1
)