Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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 JDBC Derby语法错误_Java_Sql - Fatal编程技术网

Java JDBC Derby语法错误

Java JDBC Derby语法错误,java,sql,Java,Sql,嗨,我的java代码中的语法有问题。我有一个tableview,它从SQL数据库获取数据。我已经在数据库书,客户,订单中创建了3个表。单击某个按钮时,我希望获取所选书籍并将其添加到订单表中。 以下是主程序的代码(从db调用方法): 表book是固定的。只有另外两个表customer,order是动态的 问题是: 我在order表中创建如下值 String ct = "CREATE TABLE Order (" + "Order_Id integer generated always as ide

嗨,我的java代码中的语法有问题。我有一个
tableview
,它从SQL数据库获取数据。我已经在数据库
客户
订单
中创建了3个表。单击某个按钮时,我希望获取所选书籍并将其添加到
订单
表中。
以下是主程序的代码(从db调用方法):

book
是固定的。只有另外两个表
customer
order
是动态的

问题是:

我在
order
表中创建如下值

String ct = "CREATE TABLE Order (" + "Order_Id integer generated always as identity, " + "CUSTOMER_ID BIGINT" + "ISBN, CHAR(13) " + "PRIMARY KEY(Order_Id))";
等等

我像这样插入到
order
表中。(这里是
字符串i
中的语法问题,编译器说它不工作的地方就是这个位置。)

这是我得到的语法错误

语法错误:在第1行第13列遇到“ORDER”

那么,如何更正
字符串I
中的语法呢?有人有什么想法吗

INSERT INTO ORDER(CUSTOMER_ID,ISBN), VALUES(?,?)
                                   ^
逗号是多余的。另外,在
创建表中

... + "ISBN, CHAR(13) " + ...
           ^

此逗号也是无关的。

如果要使用保留字/关键字作为表名,应:

  • MySQL:use',比如:
    select*from'Order'
  • Oracle,PostgreSQL:use“,如:
    select*from“Order”
  • 但这是一种不好的做法,请尝试更改表名


    你有另一个错误,由@Jim Garrison回答。

    你能创建一个名为Order的表吗?哦,名字“Order”也是不可能的。看起来这个词在SQLi中是保留的。我已经更改了它。现在它可以用了,谢谢
    INSERT INTO ORDER(CUSTOMER_ID,ISBN), VALUES(?,?)
                                       ^
    
    ... + "ISBN, CHAR(13) " + ...
               ^