【发布时间】:2019-05-28 13:57:42
【问题描述】:
我正在 Oracle SQL 中运行以下查询。表有 2 列,第一列是 rowid 类型,第二列是 varchar。
INSERT INTO MYTABLE SELECT 'AAAAAAAAAAAAAAAAAA' RID, NULL FROM DUAL;
结果是在两列中都添加了 null。
为什么会这样?
不应该将“AAAAAAAAAAAAAAAAAA”添加到表格的第一列吗?
【问题讨论】:
-
您为什么要在
rowid类型的列中插入常量值?那应该是数据库地址。 -
好吧,
ROWID类型不是文本列,as this SO question discusses。与其解释为什么你做错了,也许首先要问的是你为什么要在ROWID列中插入文本? -
你能张贴表格结构吗?看来你在那一栏中没有接受'AAAAAAAAAAAAAAA'的东西
-
插入查询正在工作,如果我们将“AAAAAAAAAAAAAAAAAA”更改为“AAAAAAAAAAAAAAAAAAAAB”。可能和rowid值的有效性有关,可以使用dbms_rowid.rowid_info来检查。