com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException - 字段列表中的未知列

时间:2013-03-12 01:52:46

标签: java sql web-applications jdbc

我收到以下错误:

  

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:'字段列表'中的未知列'userId'

导致此错误的代码是:

PreparedStatement pstmt = 
    con.prepareStatement(
        "INSERT INTO " + 
        tableName + 
        " (userId,username,email,password) VALUES (?,?,?,?)");

我的表由以下命令

创建
stmt.executeUpdate(
    "CREATE TABLE " + 
    tableName + 
    " (" + 
    " userId INT, " + 
    " userName VARCHAR(255) NOT NULL, " + 
    " email VARCHAR(255) NOT NULL, " + 
    " password VARCHAR(255), " + 
    " PRIMARY KEY(userId)" + 
    " )");
stmt.close();

有人可以帮我发现我的错误吗?我是一个新手,所以我很难找到错误的确切位置。

3 个答案:

答案 0 :(得分:1)

错误是因为已存在另一个具有相同表名的表。

答案 1 :(得分:1)

要看的另一件事是触发器。我得到了同样的错误,最终确定错误是触发器语句而不是insert语句的结果。 "未知栏"在触发器试图插入的表中。

答案 2 :(得分:0)

如果您使用的是insert语句,则列值缺失或为空。它可以给出这个错误。我正在使用准备好的声明。我有一个具有数字数据类型的列的错误。这是因为空字符串作为列值传递的根本原因。奇怪的是它抛出了“未知列”e