【问题标题】:i already input the id_barang, so could you give me an solution? [closed]我已经输入了id_barang,你能给我一个解决方案吗? [关闭]
【发布时间】:2019-01-03 22:40:50
【问题描述】:

SQLSTATE[HY000]: 一般错误: 1400 OCIStmtExecute: ORA-01400: cannot insert NULL into ("PABW2"."BASKET"."ID_BARANG") (ext\pdo_oci\oci_statement.c:159)

【问题讨论】:

  • 错误消息似乎告诉您该列不接受空值。期望一个值。
  • 但我已经将它们全部设置为不为空
  • 如果您共享代码并说出表的定义,我们或许可以为您提供帮助。就像您没有提供任何帮助我们帮助您一样。

标签: php oracle


【解决方案1】:

根据你到目前为止写的信息,我会说你错了。

  • 错误表示您正在将一些值插入到名为 BASKET 的表中,该表由 PABW2 用户拥有。该表包含名称为 ID_BARAN 的列
  • 您写的评论表明 ID_BARANG(以及该表中的 all 其他列)设置为 NOT NULL
    • 这意味着您必须为这些列提供值;它们不能为空
  • 但是,在执行插入时,您没有为 ID_BARANG 提供值,因此 Oracle 抱怨
  • 解决方案:为 ID_BARANG 提供值

这是一个例子:

SQL> create table basket
  2    (id_barang   number       NOT NULL,
  3     name        varchar2(20) NOT NULL
  4    );

Table created.

SQL> insert into basket (id_barang, name) values (null, 'Little');
insert into basket (id_barang, name) values (null, 'Little')
                                             *
ERROR at line 1:
ORA-01400: cannot insert NULL into ("SCOTT"."BASKET"."ID_BARANG")


SQL> -- OK, let's fix it
SQL> insert into basket (id_barang, name) values (100, 'Little');

1 row created.

SQL>

【讨论】:

    猜你喜欢
    • 2020-10-30
    • 2022-12-12
    • 2019-03-09
    • 1970-01-01
    • 2022-06-15
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多