oracle新建表后插入数据显示“列在此处不允许”

2025-03-25 11:08:25
推荐回答(3个)
回答1:

出现的原因是由于,在插入字符或字符串型字段时。如果插入的数据是纯数字,则不会有错误;如果出现字符,则会报ORA-00984列在此处不允许异常。 可以创建TestUser表,如下:

view plaincopy to clipboardprint?

  • create table TestUser 

  • usercode char(5),  

  • username varchar2(20)  

  • 以下例子请注意第一个字段usercode的值

    1、正常例子:usercode为纯数字。可以正常插入TestUser表:

    view plaincopy to clipboardprint?

  • insert into TestUser values (11111,'张三');  

  • 2、异常例子:usercode第一位出现字符A。就会出现ORA-00984列在此处不允许错误:

    view plaincopy to clipboardprint?

  • insert into TestUser values (A1111,'张三');  

  • 3、解决例子:usercode两端加上了单引号。解决办法很简单,只要给字段值前后加上单引号即可:

    view plaincopy to clipboardprint?

  • insert into TestUser values ('A1111','张三');  

  • 总之,对于字符型字段,大家在插入数据时最好在字段值两端加上单引号,这样就可以很好的避免ORA-00984错误了。

回答2:

双引号改成单引号

 

oracle中双引号的作用类似于sqlserver里的中括号,用来表示某些东西代表字段名或表名,单引号引起来的才代表插入字符

insert into admin_info values('zhangsan66','1234');

回答3:

insert into admin_info values('zhangsan66','1234');--此处单引号
commit;