Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Einfügung bei doppeltem Schlüssel; löschen?

Es ist ein Workaround, aber es funktioniert:

Erstellen Sie eine neue Spalte und nennen Sie sie do_delete , oder was auch immer, was es zu einem winzigen Int macht. Führen Sie dann On Duplicate Key Update do_delete = 1; aus

Abhängig von Ihrer MySQL-Version/Verbindung können Sie mehrere Abfragen in derselben Anweisung ausführen. Wenn dies nicht der Fall ist, führen Sie einfach unmittelbar danach eine separate Abfrage aus. In jedem Fall wäre die nächste Abfrage einfach:Delete From [table] Where do_delete = 1; . Auf diese Weise wird nichts gelöscht, wenn es sich um einen neuen Eintrag handelt. Wenn es sich nicht um einen neuen Eintrag handelt, wird er zum Löschen markiert und Sie können ihn löschen.