我越來越MySQL的插入未知列字段列表
MySQLSyntaxErrorException:
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios) " + "VALUES (`UUID` , " + " `TestName` , 8 , `Female` , `TestBios`)";
:在 '字段列表'
與此代碼未知列 'UUID'我已經創建了表格。
我越來越MySQL的插入未知列字段列表
MySQLSyntaxErrorException:
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios) " + "VALUES (`UUID` , " + " `TestName` , 8 , `Female` , `TestBios`)";
:在 '字段列表'
與此代碼未知列 'UUID'我已經創建了表格。
不要寫你的查詢以這種方式,它是不安全的(SQL注入),並可能慢了許多,然後下面的方法:
使用準備查詢語句與變量它:
String sql="INSERT INTO players (player_uuid , name , age , gender , bios) "+
" VALUES (?,?,?,?,?)";
PreparedStatement pstmt=connection.prepareStatement(sql);
pstmt.setString(1,"UUID");
pstmt.setString(2,"TestName");
pstmt.setint(3,8);
pstmt.setString(4,"Female");
pstmt.setString(5,"TestBios");
pstmt.execute();
pstmt.close();
該數據庫將緩存預處理語句的執行計劃,這樣可以節省時間,下一次同樣的語句中使用(幾乎不分值但某些數據庫將調整基於價值的計劃)。 使用插入件在大多數情況下節省的費用是最小的,選擇總節省量可能很大。
您需要將您的值放入引號以將它們視爲字符串。
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios) " +
"VALUES ('UUID' , " + " 'TestName' , 8 , 'Female' , 'TestBios')";
'char是爲esafaping列名保留的。
你打算像下面說的那樣。與singlequote取代那些backtique
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios)
VALUES ('UUID' ,'TestName' , 8 , 'Female' , 'TestBios')";
使用此代碼安裝您的代碼。由於您沒有在SQL查詢中使用單個cote作爲字符串值,因此發生錯誤。實際上最好的方法是使用PreparedStatement。
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios) "
+ "VALUES ('UUID' , " + " 'TestName' , 8 , 'Female' , 'TestBios')";
「+」'TestName'這是什麼? – Bikku