You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java连接PostgreSQL时出现‘syntax error at or near "("’语法错误求助

解决PostgreSQL创建表时的"syntax error at or near '('"错误

你的问题出在SQL语句的整数类型声明上:PostgreSQL不支持int(50)、int(20)这种带括号指定长度的写法。int在PostgreSQL中是固定4字节的整数类型,无需额外指定长度。

修正方案

  • 把phone_number int(50)和departament_code int(20)改成phone_number INT、departament_code INT;
  • 额外提示:手机号这类数据不适合用整数类型存储(会丢失前导零、无法存储特殊符号),更推荐用VARCHAR(50)。

修正后的createTable方法代码:

public void createTable(Connection conn, String table_name){
    Statement statement;
    try{
        String query ="CREATE TABLE "+ table_name+" (id SERIAL PRIMARY KEY, first_name VARCHAR(100), last_name VARCHAR(100), phone_number VARCHAR(50), departament_code INT, email_address VARCHAR(200), password VARCHAR(50))";
        statement = conn.createStatement();
        statement.executeUpdate(query);
        System.out.println("Table created");
    }
    catch (Exception e){
        System.out.println(e);
    }
}

内容的提问来源于stack exchange,提问作者MsLaus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:07:19