Nach dem Ändern Spalte MySql einen Fehler melden:Wie wählen Sie Zeile durch ihre Nummer in MySql?
ALTER TABLE MyTable MODIFY mycolumn DECIMAL(9,4)
[2016-05-31 15:43:03] [22001][1264] Data truncation: Out of range value for column 'mycolumn' at row 33934497
Die Frage ist, wie mit der Nummer 33934497 Zeile auszuwählen?
Wichtige Hinweise
Wie ich verstehe MySql auf jede Zeile in der Tabelle eine Zeilennummer anhängen. Es muss also eine Möglichkeit geben, nach dieser Nummer zu wählen. Eine LIMIT
-Klausel ist kein Fall, weil sie bereits ausgewählte Zeilen, z. Zeilen in Select, nicht in Tabelle. Auch die Bestellung während select
und modify
Anweisung kann unterschiedlich sein, so dass LIMIT
ist keine Lösung.
AKTUALISIERT
Informationen über Min- und Max-Werte in der Tabelle:
select Max(mycolumn) from MyTable
= -333240,0000
select Min(mycolumn) from MyTable
= 1000000,0000
Sie 1000000
und -333240
passt zu DECIMAL(9,4)
?
Sie wollen Sie 'SELECT'? Dies ist eine 'ALTER TABLE' Anfrage. Alle Zeilenbezeichner, die MySQL hat, werden niemals absichtlich offengelegt. Deine Frage hier ist wirklich verwirrt. Worauf willst du hinaus? – tadman
Woher wissen Sie, dass MySQL eine Zeilennummer an jede Zeile in der Tabelle anfügt? Wenn eine Zeile in der Mitte der Tabelle gelöscht wird, ändert MySQL automatisch auch die Zeilennummer, die an alle nachfolgenden Zeilen angehängt ist? Beeinflusst die Reihenfolge der Zeilen in der Tabelle die Zeilennummer, die MySQL anhängen soll? ** NEIN. ** Es passiert nicht. MySQL hängt * keine * Zeilennummer an jede Zeile in der Tabelle an. – spencer7593
Ok, angenommen, es wird keine Zeilennummer angehängt, was bedeutet das dann in Zeile 33934497? Wenn es über einen Fehler mit "einer Nummer" für 1 Zeile berichtet, muss es einen Weg zu einer solchen Zeile geben, nein? – Cherry