ORA-01722:数字数据类型的编号无效

时间:2014-12-01 09:28:56

标签: sql oracle

我正在尝试执行查询:

UPDATE USER SET ATTEMPTS = ATTEMPTS + 1 WHERE  USER_ID = "abc"

此处ATTEMPTS是数字数据类型 但是我收到错误ORA-01722:Invalid Number

1 个答案:

答案 0 :(得分:3)

可能发生了两件事。 user_id是数字,在您的帖子中,您没有复制粘贴有问题的sql语句,而是将'abc'替换为"abc"

以下代码段会重现您的错误,并且attempts不是数字,而是由user_id为数字并与字符串进行比较:

create table tq84_n (
  attempts number,
  user_id  number
);

insert into tq84_n values (1, 1);

update tq84_n set attempts = attempts + 1 where user_id = 'abc';

drop table tq84_n purge;