我正在尝试在表中插入数据,但是显示以下错误:
java.sql.SQLException:列数与第1行的值数不匹配
我已经搜索了此错误,并尝试了所有解决方案,但仍然无法正常工作。这是我的代码:
class.html
<html>
<head>
<title>Class</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form method="post" action="class.jsp">
<center>
<table border="1" width="30%" cellpadding="5">
<thead>
<tr>
<th colspan="2">Enter Information Here</th>
</tr>
</thead>
<tbody>
<tr>
<td>Class Name</td>
<td><input type="text" name="name" value="" /></td>
</tr>
<tr>
<td>Class Strength</td>
<td><input type="text" name="strength" value="" /></td>
</tr>
<tr>
<td>Room</td>
<td>
<input type="text" name="room" value="">
</td>
</tr>
<tr>
<td>Section</td>
<td><input type="text" name="section" value="" /></td>
</tr>
<tr>
<td><input type="submit" value="Submit" /></td>
<td><input type="reset" value="Reset" /></td>
</tr>
</tbody>
</table>
</center>
</form>
</body>
</html>
class.jsp
<%@ page import ="java.sql.*" import= "java.sql.Connection"
%>
<%
String cname = request.getParameter("name");
String cstrength = request.getParameter("strength");
String croom = request.getParameter("room");
String csection = request.getParameter("section");
//String available = request.getParameter("bavailable");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/web",
"root", "");
Statement st = con.createStatement();
//ResultSet rs;
int i = st.executeUpdate("insert into class(name, strength ,room, section) values ('" + cname + "','" + cstrength + "','" + croom + "','" + csection + "', CURDATE());");
if (i > 0) {
//session.setAttribute("userid", user);
response.sendRedirect("wel.jsp");
// out.print("Registration Successfull!"+"<a href='index.jsp'>Go to Login</a>");
} else {
response.sendRedirect("index.jsp");
}
%>
这是您正在运行的查询:
insert into class(name, strength ,room, section) values ('" + cname + "','" + cstrength + "','" + croom + "','" + csection + "', CURDATE());")
您提到了要传递的4个列值(class(name, strength ,room, section)
),但随后传递了5个值(CURDATE()的附加值)
在表中添加该新列,然后更新查询以使其也包含该列(即(class(name, strength ,room, section, curdate)
)),或删除CURDATE()。
问题内容: 我收到此错误: 从以下代码: 错误是什么意思? 问题答案: 您列出了9个字段,但只有8个值。尝试添加方法。
问题内容: 尝试将表单中的数据插入数据库时出现此错误。我知道这意味着什么,我只是想不出为什么要得到它。也许我已经开始太久了,错过了什么? 这是我的代码: 问题答案: 之间缺少逗号: 为什么会出现此错误: 考虑一个简单的表2列和类型: 现在让我们进行2次插入: 从这些数据可以很清楚地看出, MySQL将两个相邻的字符串连接在一起 ,这些 字符串之间用空格隔开, 并且发生这种情况时,您提供的自变量
我有一个问题,很高兴收到你的反馈。在MySQL中更新我的表的数据时,出现以下消息: 该表为: INT NOT NULL AUTO_INCREMENT,VARCHAR(50)NOT NULL,日期NOT NULL,日期NOT NULL,INT NOT NULL,VARCHAR(10)NOT NULL,INT NOT NULL,主键 和代码: 和 提前感谢!
问题内容: 我正在尝试使用以下查询将ID字段从一个表插入到另一个表: 错误显示: #1136-列数与第1行的值数不匹配 此错误的原因是什么? 问题答案: 您没有在目的地列中定义语句中的值将保存在何处,例如。 可能您想在整个数据库中操作记录。
问题内容: 我新设置了TYPO3,但是当我尝试添加/保存内容时,它给了我这个错误: SQL错误:第1行的“ sys_language_uid”列的“错误整数值:” 问题答案: 该行为与使用严格模式的数据库管理系统有关,例如从版本5.7开始的MySQL。禁用严格模式(如接受的答案中所提供的)只是一种变通方法。 真正的解决方案是通过修改用于相应字段定义的TCA(表配置数组)来将值显式转换为整数。 对于
问题内容: 我正在尝试插入我的MySQL数据库。第一列是“ id”列,因为它是一个auto_increment字段,所以我将其留为空白。由于某些原因,我无法插入,并且出现了下面提到的错误。我对此表示感谢。 尝试插入时出现以下错误: 我的查询 问题答案: 这可能意味着您是一个整数,并且您正在尝试发送字符串。您应该指定一个列列表,并从中删除它。