我收到以下错误:
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();
有人可以帮我发现我的错误吗?我是一个新手,所以我很难找到错误的确切位置。
答案 0 :(得分:1)
错误是因为已存在另一个具有相同表名的表。
答案 1 :(得分:1)
要看的另一件事是触发器。我得到了同样的错误,最终确定错误是触发器语句而不是insert语句的结果。 "未知栏"在触发器试图插入的表中。
答案 2 :(得分:0)
如果您使用的是insert语句,则列值缺失或为空。它可以给出这个错误。我正在使用准备好的声明。我有一个具有数字数据类型的列的错误。这是因为空字符串作为列值传递的根本原因。奇怪的是它抛出了“未知列”e