【问题标题】:Insertion SQL and NOT NULL values插入 SQL 和 NOT NULL 值
【发布时间】:2016-06-15 19:44:20
【问题描述】:

我创建了一个表架构并指定对于某些属性,值不能为空。对于该表的一列,值将从另一个表的列导入,但我面临的问题是,当我使用插入语句将值从另一个表的该列复制到这个新创建的表的列时,这个新列的属性开始尖叫,因为它们对它们有一种约束,即在插入时它们的值不能为 NULL! 我该如何应对?

一个解决方案是,对于其他属性,我可以暂时声明可以容纳空值,以便我可以成功地从其他表的列中导入值,然后在其余属性上放置条件值是不能为 NULL。但是我该怎么做呢?

【问题讨论】:

  • 您可以发布您用于插入的代码以及您使用的 sql 引擎吗?
  • 您尝试将空值放入非空列中,您希望在结果中看到什么?这样的行应该被跳过或空值应该用一些真实的替换

标签: sql insertion


【解决方案1】:

您需要在导入时将NULL 转换为一些DEFAULT 值。

我不确定您在 mysql 中使用的是哪个数据库引擎: 使用 IFNULL(column_name, "") 之类的东西。

Reference

【讨论】:

    【解决方案2】:

    您可能只是在寻找default 子句。定义列时,可以指定;

    intcol int not null default 0
    

    如果没有为插入指定列,那么它将默认为 0。在某些数据库中,如果提供了 NULL 值,它也会获得默认值。

    【讨论】:

      猜你喜欢
      • 2020-04-15
      • 2023-03-27
      • 2014-11-19
      • 2021-08-25
      • 2014-04-25
      • 2018-11-10
      • 2018-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多