我有一个关于数据库的InnoDB和MyISAM存储引擎的问题。
假设表中有 5 列,所有列都设置为“Not Null”。 当我运行查询仅在 MyISAM 数据库的两列中插入值时,它不会生成任何错误,将记录插入表中并默认将其他列留空。 但是当我对 InnoDB 数据库执行相同操作时,它会生成错误“somecolumn can not be null”。
我的所有表都设置为 MyISAM 类型,但我的数据库是 InnoDB,我遇到了这个问题。
有什么办法可以解决吗?我已经有几个解决方案,可以将数据库类型更改为 MyISAM,或者将所有表的每一列设置为“Null”值除外。 我想知道比上面提到的更好的解决方案。
希望它确实有意义。 :)
最佳答案
为所有 NOT NULL 列设置 DEFAULT 值,如果您未在 INSERT 上指定值,则将使用默认值。
关于MySql InnoDB - 在表的 "Not Null"列中插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864851/