开发中遇到程序报错,错误信息:SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘xxx’ cannot be null,这是因为我们要更新的字段设置了not null
约束。
解决办法是根据实际情况,取消字段的not null
约束或者给字段设置默认值。
一般在开发中,推荐根据如下情况进行设置:
- 如果字段为int 或者varchar等类型,那么要设置字段类型为
not null
并且设置default
值 - 如果字段为text,则取消
not null
约束。
我这里的字段是text类型,因此我取消了not null
约束:
ALTER TABLE `purchase_status` CHANGE `remarks` `remarks` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL;