Ja, und dieses Verhalten ist Standard. Jede eindeutige Einschränkungsverletzung stellt einen Konflikt dar und dann das UPDATE
wird ausgeführt, wenn ON CONFLICT DO UPDATE
angegeben. Das INSERT
-Anweisung kann nur einen einzigen ON CONFLICT
haben -Klausel, sondern das conflict_target
dieser Klausel kann mehrere Spaltennamen angeben, von denen jeder einen Index haben muss, z. B. UNIQUE
Zwang. Sie sind jedoch auf eine einzige conflict_action
beschränkt und Sie haben keine Informationen darüber, welche Einschränkung den Konflikt verursacht hat, wenn Sie diese Aktion verarbeiten. Wenn Sie diese Art von Informationen oder eine bestimmte Aktion abhängig von der Einschränkungsverletzung benötigen, sollten Sie eine Triggerfunktion schreiben, aber dann verlieren Sie die überaus wichtige Unteilbarkeit des INSERT ... ON CONFLICT DO ...
Aussage.