由於我們正在處理大量數據,因此正在生成查詢。Java:MySQL數據截斷:不正確的double值:''用於列
Data truncation: Incorrect double value: '' for column 'HITELKERET' at row 1
由該方法生成的查詢字符串是:
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';
的問題是,當
...
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;
...
此方法當我們運行由它生成的查詢生成此錯誤消息我從Java控制檯複製該字符串,並將其粘貼到MySQL編輯器(我使用SQLYOG)中,查詢執行時沒有任何錯誤。
,是的,這就是爲什麼手工編寫INSERT語句是一個可怕的想法 - 用HITELKERET的一個PreparedStatement –
列類型是什麼? –
它是一個浮點數(32) – Fusyoo