操作Oracle数据库,插入数据时显示:ORA-00984列在此处不允许错误,如下图所示:

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

  1. create table TestUser (
  2. usercode char(5),
  3. username varchar2(20)
  4. )

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

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

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

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

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

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

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

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

备注:针对数字型,直接写数字就行,字符类型的使用单引号。

数据库中插入数据时发生ora-00984错误的更多相关文章

  1. django rest framework 向数据库中插入数据时处理外键的方法

    一.models.py中 from django.db import models class UserModel(models.Model) user_name = models.CharField ...

  2. 向mysql数据库中插入数据时显示“Duplicate entry '1′ for key ‘PRIMARY' ”错误

    错误情况如题,出现这个错误的原因十分简单: 很明显,这是主键的问题. 在一张数据表中是不能同时出现多个相同主键的数据的 这就是错误的原因,解决的方法: 1.可以将这张表设置成无主键(mysql支持,其 ...

  3. 使用 QSqlTableModel 模型向数据库中插入数据时,为什么使用 rowCount 函数只能返回 256 最大值?

    默认返回缓冲区里面的数据,如果你向要获取更多值,请在前面加入以下语句即可. while(model.canFetchMore()){ model.fetchMore(); } 该语句会获取更多的记录.

  4. 向Oracle数据库中插入数据出错:ORA-01036 无效的变量名或数据

    向Oracle数据库中插入数据出错: 经过排查,因为Update数据时没有出错,所以OracleHelper没有问题: 看异常信息提示:无效的变量和数据,应该是SQL语句的问题,调试时所传的实例Use ...

  5. mongodb数据库中插入数据

    mongodb数据库中插入数据 一:connection 访问集合: 在mongodb数据库中,数据是存储在许多数据集合中,可以使用数据库对象的collection方法访问一个集合.该方法使用如下: ...

  6. 以使用QSqlQuery向数据库中插入数据为例,做一个小结

    背景: 最近在使用Qt+SQLite写一个本地数据库管理程序(使用者不懂SQL),在写向数据库中插入数据的 相关的函数时,我遇到了几个问题(暂时就这些): 1.向指定字段插入指定数据时,读取到的数据都 ...

  7. java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间

    java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Da ...

  8. 触发器修改后保存之前的数据 表中插入数据时ID自动增长

    create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...

  9. mysql数据库中插入数据INSERT INTO SET的优势

    往mysql数据库中插入数据.以前常用 INSERT INTO 表名 (列名1,列名2…) VALUES(列值1,列值2); 如果在PHP程序中,就会写成如下示例(往商品库里增加商品) $sql = ...

随机推荐

  1. hdu5904 LCIS

    这题惩罚我这种经常不管常数的懒人 直接 1e6 TLE 如果1e5对数组枚举过 诶其实很想吐槽些伤心事,但是还是不想在博客上吐口水 不管今年比赛结果如何 请享受比赛 #include<bits/ ...

  2. 异常-----freemarker.template.TemplateException: The only legal comparisons are between two numbers, two strings, or two dates

    1.错误描述 六月 26, 2014 10:44:49 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...

  3. [POJ2115]C Looooops 拓展欧几里得

    原题入口 这个题要找到本身的模型就行了 a+c*x=b(mod 2k) ->  c*x+2k*y=b-a 求这个方程对于x,y有没有整数解. 这个只要学过拓展欧几里得(好像有的叫扩展欧几里德QA ...

  4. djang-tastypie学习整理

    quick start: 配置环境(pip install: Python 2.7+ or Python 3.4+ Django 1.8+ python-mimeparse 0.1.4+ (http: ...

  5. ubuntu安装Eclipse无图标(手动创建软件图标) —— 其他的软件也一样

    //退回根目录 cd / //进入图标存放目录 cd usr/share/applications/ //用文本编辑器打开打开eclipse的图标文件,没有会自动创建 sudo gedit eclip ...

  6. Redis主从配置及HA方案

    首先说下主从同步Replication的原理 在Slave启动并连接到Master之后,它将主动发送一条SYNC命令.此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后 ...

  7. STM32F10x的启动汇编分析

    ;******************** (C) COPYRIGHT 2009 STMicroelectronics ********************;* File Name         ...

  8. Linux解决MySQL-python安装失败问题

    使用python的pip直接安装MySQL-python的时候遇到如下报错: Collecting mysql-python Using cached MySQL-python-1.2.5.zip C ...

  9. MacOS中升级openssl

    MacOS中升级openssl   ➜  ~ brew instal openssl 使用情况中始终发现,openssl并没有真正升级   在/usr/local/Cellar/openssl/目录中 ...

  10. mui实现切换选项卡

    mui切换选项卡头目对应选项内容是webAPP应用最多的功能 引入mui文件: 引入mui-segmented-control类实现顶部头目: 引入mui-content-padded类加入各选项卡内 ...