Da wir mit einer Menge Daten arbeiten, generiert eine Methode die Abfrage.Java: Abschneiden von MySQL-Daten: Falscher doppelter Wert: '' für Spalte
...
switch(operation) {
case "insert":
query +="INSERT INTO " + table + " SET ";
for(int i=0; i<columns.size(); i++) {
query += "`"+columns.get(i)+"`='"+values.get(i)+"',";
}
query=query.substring(0, query.length()-1); //to remove the last " , " from the string
query += ";";
break;
...
Diese Methode generiert diese Fehlermeldung, wenn wir die Abfrage generiert, indem es ausgeführt:
Data truncation: Incorrect double value: '' for column 'HITELKERET' at row 1
Der Query-String durch das Verfahren erzeugt wird:
INSERT INTO szallvev
SET `NEV2`='',`BANKSZAMLA`=' - - ',
`BANK1`='',
`ORSZAG`='',
`BANK2`='',
`IBAN`='',
`SWIFT`='',
`IRSZAM`='',
`VAROS`='',
`UTCA`='',
`KTJELLEG`='0',
`HAZSZAM`='',
`EPULET`='',
`LEPCSOHAZ`='',
`EMELET`='',
`AJTO`='',
`ADOSZAM`='',
`KOZADOSZAM`='',
`UGYINTEZO`='',
`EMAIL`='',
`TELEFON`='',
`MOBIL`='',
`INTERNET`='',
`FAX`='',
`FIZMOD`='0',
`CSOPADO`='',
`MUNKASZAM`='',
`HITELKERET`='',
`DEVARSZINT`='0',
`KEDV1`='0',
`NAPOK`='',
`ELADO`='0',
`UZLETKOTO`='',
`AZONOSITO`='test',
`NEV1`='test';
Das Problem ist, wenn Ich kopiere diese Zeichenfolge von der Java-Konsole und füge sie in einen MySQL-Editor ein (ich benutze SQLYOG), die Abfrage wird ohne Fehler ausgeführt.
und ja, das ist, warum hand Crafting Einfügeanweisungen eine schreckliche Idee ist - ist ein PreparedStatement –
Spaltentyp von HITELKERET verwenden, was? –
Es ist ein float (32) – Fusyoo