2017-04-22 9 views
0

bei dem Versuch, neue Tabelle/Spalte einschließlich Dezimal-Datentyp zu erstellen, ändert es automatisch beispielsweise von Dezimal (9,3) in Dezimal (9). mysql/phpmyadmin Fehler? MySQL-Version ist 5.7.14 warum?SQL-Dezimal-Datentyp in mysql/phpmyadmin

+0

Nun, ja, das schlägt einen Fehler - in Ihrem Code. Aber du zeigst den Code nicht, also gibt es für niemanden wirklich etwas, an dem du vorbeikommen könntest. –

+0

ich benutze phpmyadmin um die Tabellenstruktur hinzuzufügen:/(grafische Weise noch kein Code: D) – Elmokh

Antwort

0

Wenn Sie wirklich über die Daten sprechen, nicht den "Datentyp", ... Wenn Ihre Nummer "12,345" ist, weil es ein nicht-englisches Gebietsschema ist, dann stoppt die Analyse am Komma, und Sie bekommen " 12 ", die als" 12.000 "in DECIMAL(,3) speichert.

+0

es speichert als 12 nicht 12.000 sonst, wenn ich DECIMAL (9,3) definiere, wird automatisch DECIMAL (9) (falls ich schreibe mit sql nicht grafisch wie es richtig gemacht wird) (ich denke das Problem mit der Eingabe Kontrolle?) – Elmokh

+0

Ändert es die _output_ oder die _datatype_? –

+0

DataType von DECIMAL (9,3) bis DECIMAL (9) – Elmokh

0

Es sieht aus wie ein Fehler in phpMyAdmin (ich verwende Version 4.6.4, während die letzte stabile Version 4.7.1 ist):

1) Unter Verwendung von rohen SQL funktioniert:

ALTER TABLE table_name ÄNDERN column_namecolumn_name DECIMAL (3,1) NOT NULL;

2) Unter Verwendung der UI Länge/Werte auf 3,1 einzustellen erzeugt falsche SQL:

ALTER TABLE table_name CHANGE column_namecolumn_name DECIMAL (3) NOT NULL;

Kein Unterschied bei der Verwendung. (Punkt) statt (Komma).

Seien Sie vorsichtig, wenn Sie die phpMyAdmin UI zur Manipulation von Tabellenstrukturen verwenden, da Sie Daten leicht abschneiden können! Überprüfen Sie immer mit Vorschau SQL, was ausgeführt werden soll!