sql >> Database >  >> RDS >> Mysql

MySQL:ALTER NEGEER TABEL UNIEK TOEVOEGEN, wat wordt afgekapt?

Het eerste record wordt bewaard, de rest wordt verwijderd §§ :

IGNORE is een MySQL-extensie voor standaard SQL. Het bepaalt hoe ALTERTABLE werkt als er dubbele sleutels in de nieuwe tabel zijn of als er waarschuwingen optreden wanneer de strikte modus is ingeschakeld. Als IGNORE niet is opgegeven, wordt de kopie afgebroken en teruggedraaid als er fouten met dubbele sleutel optreden. Als IGNORE is opgegeven, alleen de eerste rij wordt gebruikt van rijen met duplicaten op een unieke sleutel. De andere conflicterende rijen zijn verwijderd . Onjuiste waarden worden afgekapt tot de meest overeenkomende aanvaardbare waarde

Ik vermoed dat 'eerste' hier degene met de kleinste ID betekent, ervan uitgaande dat de ID de primaire sleutel is.

Let ook op:

Vanaf MySQL 5.7.4 is de IGNORE clausule voor ALTER TABLE is verwijderd en het gebruik ervan produceert een fout .



  1. Hoe de database te controleren op een niet-geroot Android-apparaat?

  2. Oracle PLSQL-blokstructuur en -typen

  3. Poging om een ​​reeds gesloten object sqlitedatabase opnieuw te openen

  4. Duplicaat uit een tabel verwijderen