0

我对数据库的 InnoDB 和 MyISAM 存储引擎有疑问。

假设我们在一个表中有 5 列,所有列都设置为“Not Null”。当我运行查询以仅在 MyISAM 数据库的两列中插入值时,它不会产生任何错误,将记录插入表中,默认情况下将其他列留空。但是当我对 InnoDB 数据库执行相同操作时,它会生成“某些列不能为空”的错误。

我的所有表都设置为 MyISAM 类型,但我的数据库是 InnoDB,我遇到了这个问题。

有没有办法解决?我已经有几个解决方案可以将数据库类型更改为 MyISAM,或者将所有表的每一列都设置为“Null”值除外。我想知道比上面提到的更好的解决方案。

希望它有任何意义。:)

4

1 回答 1

2

为所有 NOT NULL 列设置一个 DEFAULT 值,如果你没有在 INSERT 上指定一个值,将使用默认值。

于 2012-10-12T18:34:36.177 回答