MySql InnoDB - 在表的 "Not Null"列中插入

标签 mysql innodb myisam insertion

我有一个关于数据库的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/

相关文章:

php - 在 PHP/Mysql 中打印重复记录

mysqlcheck返回错误信息mysqlcheck : Got error: 1045: Access denied for user 'root' @'localhost' (using password: NO) when trying to connect

mysql - InnoDB 表被制作为 MyISAM

mysql - mysql查询的高cpu使用率

mysql - 如何一次处理多个插入

mysql - 无法让这个连接在 Rails 中工作

MySQL 错误 1215 : Cannot add foreign key constraint, innodb,新表

mysql - 无法删除(或对其执行任何其他操作)InnoDB 表

mysql - InnoDB 在导入时转换为 MyISAM

mysql - MyISAM vs. InnoDB vs. 其他...?