列名或所提供值的数目与表定义不匹配

在项目开发中,由于SQL语句未包含所有列名导致数据插入失败。作者在注册表单的SQL语句中遗漏了'xf'和'rank'两个字段,提醒新手程序员注意SQL语句与表结构的一致性。不同数据库如MySQL和MS SQL Server对关键字的处理方式存在差异,建议避免使用关键字作为表名或字段名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天在写一个项目的时候报错不匹配
结果发现时 我的sql语句没有将全部的列名都插入进来
String sql = "insert into user1 values(?,?,?,?,?,?,?,?,?,?,?,?)";
qr.update(sql, user1.getUid() , user1.getUsername(),  					 user1.getPassword(),
user1.getName(),user1.getEmail(),  user1.getTelephone() ,
user1.getBirthday(),  user1.getSex() , user1.getState(),
user1.getCode(),user1.getXf(),user1.getRank());
当时我的注册表单没有xf和rank这两个值 所以就没有将这两个写进我的sql语句 真的是智障了 新手要注意这个 另外user时关键字 取名字的时候最好避开
不同的sql对关键字的处理时不一样的 mysql是这样: `user` mssql是[user]
但是最好避开 尽量用mssql这个好一点 触发器方面mysql5.7以前的版本是不行的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值