+ -
当前位置:首页 → 问答吧 → sql 删除语句

sql 删除语句

时间:2011-12-01

来源:互联网

我有一个表H2Data,里面有6个字段,其中主键为CardNo varchar(50),现在表里面有3条记录,主键分别为200004,200005,jij。我想删除表里面的一条记录:DELETE from H2User WHERE CardNo = 2000004。
会报出:[Err] 22018 - [SQL Server]在将 varchar 值 'jij' 转换成数据类型 int 时失败。

这是怎么回事啊,不明白!主键不已经是varchar类型了么,为什么还要转换为int呢?

作者: gjj202008   发布时间: 2011-12-01

SQL code
DELETE from H2User WHERE CardNo = '200004'

作者: qianjin036a   发布时间: 2011-12-01

它拿 jij 与你的 2000004 比较了,后者是数字.

作者: qianjin036a   发布时间: 2011-12-01

CardNo = 2000004

问题在这里,你主键是字符型,那么条件该是 CardNo = '2000004' 而不是 CardNo = 2000004

作者: AcHerat   发布时间: 2011-12-01

SQL code

DELETE from H2User WHERE CardNo = '2000004'  --加上单引号,如果不加,系统会把你的字段值转换成数值进行比较,所以就出错了

作者: pengxuan   发布时间: 2011-12-01

SQL code
DELETE from H2User WHERE CardNo = '200004' --字符格式加引号

作者: fredrickhu   发布时间: 2011-12-01