[英]MySQL insert into unknown column in field list
我越来越
MySQLSyntaxErrorException:“字段列表”中的未知列“ UUID”
使用此代码:
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios) " +
"VALUES ( `UUID` , " + " `TestName` , 8 , `Female` , `TestBios`)";
我已经创建了表格。
不要以这种方式编写查询,因为它不安全(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保留用于保留列名。
您的意思是说如下。 用单引号替换那些背景
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios)
VALUES ( 'UUID' ,'TestName' , 8 , 'Female' , 'TestBios')";
使用代码中的此代码。 发生错误,是因为您没有在SQL查询中对字符串值使用单整数。 实际上,最好的方法是使用PreparedStatement。
String sql = "INSERT INTO players (player_uuid , name , age , gender , bios) "
+ "VALUES ( 'UUID' , " + " 'TestName' , 8 , 'Female' , 'TestBios')";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.