Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数据库插入语句_Java_Mysql_Sql_Jdbc - Fatal编程技术网

Java 数据库插入语句

Java 数据库插入语句,java,mysql,sql,jdbc,Java,Mysql,Sql,Jdbc,每次执行查询时是否需要创建新语句 这行不行(我已经与数据库建立了连接) 我使用以下代码创建表: Statement.execute("CREATE TABLE IF NOT EXISTS PS2" + "(uuid VARCHAR(45)," + "team VARCHAR(20)," + "kills INTEGER," + "deaths INTEGER,"

每次执行查询时是否需要创建新语句

这行不行(我已经与数据库建立了连接)

我使用以下代码创建表:

Statement.execute("CREATE TABLE IF NOT EXISTS PS2"
                + "(uuid VARCHAR(45),"
                + "team VARCHAR(20),"
                + "kills INTEGER,"
                + "deaths INTEGER,"
                + "rank_lvl INTEGER,"
                + "rank_name VARCHAR(25),"
                + "pts INTEGER)");

在执行代码之后,就创建了数据库。之后,在尝试插入行之后,将不会创建该行

uuid
是SQL的保留关键字,您应该用引号将其括起来:`uuid`

您使用的是反勾号
`
而不是引号
'
来包装您的值。反勾号仅用于换行列名

Statement.execute("INSERT INTO PS2 (`uuid` , team, kills , deaths , rank_lvl, rank_name, pts) "
    + "VALUES"
    + " ('" + name.toString() + "' , 'none' , 0 , 0 , 1 , 'Starter' , 0)");

正如我所提到的,你应该小心
UUID
可能是其中之一(例如,对于Oracle V9i数据库),因此您应该用反勾号将其包装。

反勾号作为字符串引号是否正确?试试
没有错误,数据库中没有行,@AlexK。我正在测试您使用的RDBMS是什么?其中一些是缓存数据,当您不提交或刷新数据时,没有数据写入磁盘。那么第一个问题呢?永远不要对SQL使用concat字符串。使用
可重用的
PreparedStatement。创建数据库时没有使用quotesTables包装。可以使用保留字创建数据库,但要在语句或子句中使用它们,您必须将它们用引号包装。我会手动尝试此请求,以了解问题来自请求或代码。它手动工作:S,使用这段代码:将值('460b9dd9-af9c-4942-a49d-28D3658E7A','none',0,0,1',Starter',0)插入PS2(uuid,team,kills,DEATIONS,rank_lvl,rank_name,pts)中执行INSERT语句时没有错误,但没有创建行!然后它来自其他地方。你在使用什么样的数据库?。任何
INSERT
是否通过PHPMyAdmin工作(甚至在其他表上)?
Statement.execute("INSERT INTO PS2 (`uuid` , team, kills , deaths , rank_lvl, rank_name, pts) "
    + "VALUES"
    + " ('" + name.toString() + "' , 'none' , 0 , 0 , 1 , 'Starter' , 0)");