我正在尝试执行查询:
UPDATE USER SET ATTEMPTS = ATTEMPTS + 1 WHERE USER_ID = "abc"
此处ATTEMPTS是数字数据类型
但是我收到错误ORA-01722:Invalid Number
答案 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;