我收到错误CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1364 Field 'editedbyid' doesn't have a default value.
执行的SQL语句是:
INSERT INTO `pos` (`serialnumber`, `posmodelid`, `active`, `created`, `updated`, `forapproval`, `approvedbyid`) VALUES (:yp0, :yp1, 1, NOW(), :yp2, :yp3, :yp4)"
我正在使用MySQL,PHP和uii框架。我怎么解决这个问题?
答案 0 :(得分:11)
数据库表中的字段editedbyid
没有配置默认值。
因此,在插入新行时,数据库引擎不知道它必须为editedbyid
字段设置哪个值。
可能的解决方案是:
<强> 1。设置默认值:
以phpmyadmin为例,选择pos
表,输入&#39; editedbyid&#39;的默认值。字段。
<强> 2。为&#39; editedbyid&#39;插入一个值字段:强>
INSERT INTO `pos` (`serialnumber`, `posmodelid`, `active`, `created`, `updated`, `forapproval`, `approvedbyid`, `editedbyid`) VALUES (:yp0, :yp1, 1, NOW(), :yp2, :yp3, :yp4, 0)"
编辑:同时阅读有关默认值的this question and answers。
答案 1 :(得分:2)
也许尝试运行SET GLOBAL sql_mode =&#39;&#39;或编辑你的my.cnf以确保你没有设置STRICT_ALL_TABLES等。 Yii问题