当前位置: 首页 > 知识库问答 >
问题:

从键创建表Spring JDBC

百里胜泫
2023-03-14

因此,我尝试使用JSON对象中的键在数据库中创建表,但它显示了如下错误

ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [CREATE TABLE siswas (  Category INT NOT NULL AUTO_INCREMENT,  nama VARCHAR(45) ,  Absensi VARCHAR(45) ,  Entertain LONG ,  id INT ,  Gaji_Pokok INT ,  Tunjangan_Pulsa LONG ,  Tunjangan_Makan LONG ,  Tunjangan_Trans LONG ,  Tunjangan_Ent LONG ,  PRIMARY KEY (id));]; nested exception is java.sql.SQLSyntaxErrorException: Incorrect table definition; there can be only one auto column and it must be defined as a key] with root cause

sqlsyntaxerrorexception:错误的表定义;只能有一个自动列,并且必须将其定义为键

public void buatTable(ArrayList<String> array) {
    System.out.println("Creating table at database");
    id = array.get(0);
    nama = array.get(1);
    Category = array.get(2);
    Gaji_pokok = array.get(3);
    Absensi = array.get(4);
    Entertain = array.get(5);
    TunjanganP = array.get(6);
    TunjanganM = array.get(7);
    TunjanganT = array.get(8);
    TunjanganE = array.get(9);

    jdbcTemplate.execute("DROP TABLE  IF EXISTS Karyawan");
    jdbcTemplate.execute("CREATE TABLE Karyawan (" +
            "  "+id+" INT NOT NULL AUTO_INCREMENT," +
            "  "+nama+" VARCHAR(45) ," +
            "  "+Category+" VARCHAR(45) ," +
            "  "+Gaji_pokok+" LONG ," +
            "  "+Absensi+" INT ," +
            "  "+Entertain+" INT ," +
            "  "+TunjanganP+" LONG ," +
            "  "+TunjanganM+" LONG ," +
            "  "+TunjanganT+" LONG ," +
            "  "+TunjanganE+" LONG ," +
            "  PRIMARY KEY (id));");
}

我的代码有问题吗?

共有1个答案

楚涵润
2023-03-14

您不指定正在使用的数据库,但尝试将LONG更改为INT

 类似资料:
  • 使用Java8 lambdas,在给定可能键的和的情况下,有效创建新的的“最佳”方法是什么?在这种情况下,您将得到一个包含可能的键的并希望生成一个其中是基于的某个方面构造的某种类型,即映射值类型。 我已经研究了几种方法,但认为一种方法比另一种方法更好(可能有一个例外--参见代码)。我将把“最佳”解释为代码清晰度和运行时效率的结合。这些是我想出来的。我肯定有人能做得更好,这是这个问题的一个方面。我不

  • 问题内容: 我有一个我想在SQL企业管理器中创建表的视图,但是运行此查询时总是会出现错误: 到目前为止,错误是:“’as’处的语法错误” 视图太大。是否可以使用前10名? 问题答案: 不支持。 用这个: 或者

  • 问题内容: 我想获得像这样的Hashtable的JSON表示形式: 结果是: 但是,如果将JSON字符串转换回去,则不会得到HashTable,而会得到PSCustomObject。 那么,如何可靠地序列化上述Hashmap? 问题答案: $json = @{Path=”C:\temp”; Filter=”*.js”} | ConvertTo-Json

  • 问题内容: 因此,我对以下方面的理解: 当然,问题在于,如果存在多个具有相同值的s,则它们会折叠在一起,最后一个以那个唯一的唯一成员存在。我实际上想将结果字典的值列出: 这种理解是否可能? 问题答案: 您可以将元素一一添加到默认情况下包含空列表的字典中: 您也可以执行非常相似的操作,而不必使用collections模块: 但这可以说是不太清晰。 一个等效的,更清晰的(不需​​要“解析”不太常见的)

  • jOOQ具有文档中所述的CREATE TABLE语法: 我想知道如何定义哪个列属于主键?那么,在jOOQ中有没有办法用主键信息创建create TABLE语句呢? 我对SQLite的解决方案特别感兴趣,它没有语法来添加主键,所以我认为在最坏的情况下,我必须去一个特定于数据库的解决方案?

  • 问题内容: 我是JavaScript的初学者,想显示HTML中的对象数组。 数据格式如下: 我想使用包含三列(id,名称,相关性)的列表来显示它们。ID可以从1自动增加。 谁能告诉我如何编写一个JavaScript代码来显示它? 请给我一些材料或示例进行学习。 问题答案: 说明 您想要的是用JavaScript填充HTML中的表(或另一个DOMElement),一旦加载页面并接收到JSON对象,该