问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL语句,将一个表中的值加到另一个表中出现错误

发布网友 发布时间:2022-04-09 10:04

我来回答

4个回答

热心网友 时间:2022-04-09 11:33

先看下cards表 和recharges表是一对一,还是一对多的关系,
我估计是 select moneyBalance from recharges where recharges .cardID=cards.CardID 这句,没有在recharges 中找到相同cards.CardID的值。
即,cards表中有一行记录的CardID=1,但recharges 表中不存在CardID=1的记录。
这就是报”不能将值 NULL 插入列 'balance',表 'Cards';列不允许有空值。UPDATE 失败。“错误的原因。
解决办法:
1、采用1楼的方法,可以将两表中CardID相同的行记录进行更新。
2、Select * From cards Where CardID not in(select CardID from recharges)使用该语句查出那些不能匹配的行记录,当然 not in 效率低了点,需要的话可以再优化。

热心网友 时间:2022-04-09 12:51

百度知道就是被楼上的这种垃圾给搞坏的。。。找点书COPY过来有什么意思。。。。。。。
-----------------------------
要防止SQL注入其实不难,你知道原理就可以了。
所有的SQL注入都是从用户的输入开始的。如果你对所有用户输入进行了判定和过滤,就可以防止SQL注入了。用户输入有好几种,我就说说常见的吧。
文本框、地址栏里***.asp?中?号后面的id=1之类的、单选框等等。一般SQL注入都用地址栏里的。。。。如果要说怎么注入我想我就和上面的这位“仁兄”一样的了。
你只要知道解决对吗?
对于所有从上一页传递过来的参数,包括request.form 、request.qurrystring等等进行过滤和修改。如最常的***.asp?id=123 ,我们的ID只是用来对应从select 里的ID,而这ID一般对应的是一个数据项的唯一值,而且是数字型的。这样,我们只需把ID的值进行判定,就可以了。vbs默认的isnumeric是不行的,自己写一个is_numeric更好,对传过来的参数进行判定,OK,搞定。算法上的话,自己想想,很容易了。但是真正要做到完美的话,还有很多要计算的。比如传递过来的参数的长度,类型等等,都要进行判定。还有一种网上常见的判定,就是判定传递参数的那一页(即上一页),如果是正常页面传弟过来就通过,否则反之。也有对' or 等等进行过滤的,自己衡量就可以了。注意一点就是了,不能用上一页的某一个不可见request.form("*")进行判定,因为用户完全可以用模拟的形式“复制”一个和上一页完全一样的页面来递交参数。这样,这招就没用了。。。。

OK就说这么多,还不明白的话,找我。Loadinger@hotmail.com
追问那你这种乱回答问题的算什么。。

热心网友 时间:2022-04-09 14:26

update t
set balance=isnull(t.balance,0)-isnull(a.moneyBalance ,0)
from
cards t,recharges a
where t.CardID=a.cardID
这是SQL SERVER的写法。。。。。。你是啥数据库

所以加了个ISNULL。。他说有NULL值。。。你就先判断下,如果有NULL,就给个0.。

因为数字-NULL或NULL-数字得到的就是NULL

热心网友 时间:2022-04-09 16:17

--需要空值处理,这个看你的数据库了.另sql有点bug,你这样会引起数据错误.加个where条件
update cards
set balance=balance-(select moneyBalance from recharges where recharges .cardID=cards.CardID)
exists(select moneyBalance from recharges where recharges .cardID=cards.CardID)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宣称窗帘可“空气净化”,宜家被罚172.5万,此前还收到过哪些罚单?_百度... 打开CAD2006出现fail to get commcntrcontroller怎么解决 启动cad2006时出现'failtogetcommcntrcontroller"怎么解决啊?是什么... 删除C:\Program Files\AutoCAD2004\WSCommCntrAcCon.arx有什么影响 CAD启动时出现fail to get CommcntrController 怎么解决? 启动cad2006时出现'fail to get commcntrcontroller"怎么解决啊?是什么... ...电脑,买哪种划算啊 ,主要 玩游戏,挂Q偶尔看电影 你们上网都干什么啊 ...我上网主要是浏览网页,挂Q和人人,看视频,电影,电视剧什么的,请问... 天天看播放器是什么格式?我想用平板电脑下载来看电视和电影可以吗?还有... 构成诈骗案有哪些主要特征 构成诈骗案有哪些主要特征 诈骗罪的几个特征 诈骗罪的几个特征 诈骗罪的四个特征是 诈骗罪的四个特征是 经营者提供商品或者服务过程中的欺诈行为有哪些特征? 经营者提供商品或者服务过程中的欺诈行为有哪些特征? 诈骗罪的四个特征 强制关闭卡死程序快捷键 中通快递能保留几天快件?急急、、 快递送到没有空拿一般都可以在快递公司放三天吧,下面这个图片是昨天中通的 重庆三峡学院山顶移动营业厅中通的快递最多能放几天 吃鸡游戏购买的时候没有支付宝付款和微信支付? steam买的吃鸡为什么不能退到微信支付? 为什么一条最简单的sql语句也会出错 绝地求生购买通行证不能用余额购买了吗?一付款就弹出微信支付宝界面!在商城购买也是同样问题 pubg手游低配版可以用微信支付吗? steam买的吃鸡为什么不能退到微信支付 绝地求生未来之役怎么用微信充值 诈骗罪的基本特征是什么 简述合同诈骗罪的概念和特征 在creo中,有的零件不显示,怎么办?在proe中没有这种情况。 合同诈骗罪的构成要件具有哪些特征 合同诈骗罪的构成要件具有哪些特征 商业诈骗的判定规则是什么? 商业诈骗的判定规则是什么? creo2.0无法选中零件 诈骗罪的犯罪特征是什么 诈骗罪的犯罪特征是什么 小天才x50跟小度词典笔哪个好 小度智能屏和小天才上的小度有关联性吗 我给孩子买个小天才平板好呢还是买个ipad好 步步高家教机S3和小天才儿童平板 K1哪个好 小二郎平板电脑和小天才平板电脑哪个好 为什么我用Oracle VirtualBox虚拟机装系统总是显示内存不能为written Virtual box无法启动虚拟系统,提示内存不能为read 刚安装了虚拟机virtualbox运行centos7就内存不能wirtten? VirtualBox出现0x76379bce指令引用的0x000c000c内存。该内存不能为written 歇形近字