2012-07-31 152 views
1

我得到一個錯誤CDbCommand failed to execute the SQL statement: SQLSTATE[HY000]: General error: 1364 Field 'editedbyid' doesn't have a default value.執行的SQL語句是:場「X」沒有默認值

INSERT INTO `pos` (`serialnumber`, `posmodelid`, `active`, `created`, `updated`, `forapproval`, `approvedbyid`) VALUES (:yp0, :yp1, 1, NOW(), :yp2, :yp3, :yp4)" 

我使用MySQL,PHP和UII框架。我該如何解決這個問題?

回答

11

領域editedbyid數據庫中的表沒有配置的默認值。

所以,插入新行的時候,數據庫引擎不知道哪個看重它必須爲editedbyid字段設置。

可能的解決方案是:

1.設置的默認值:

與phpMyAdmin例如,選擇pos表,對於 'editedbyid' 字段中輸入默認值。

2.嵌入件的 'editedbyid' 字段的值:

INSERT INTO `pos` (`serialnumber`, `posmodelid`, `active`, `created`, `updated`, `forapproval`, `approvedbyid`, `editedbyid`) VALUES (:yp0, :yp1, 1, NOW(), :yp2, :yp3, :yp4, 0)" 

EDIT:也讀this question and answers關於默認值。

+0

我在哪裏可以找到?非常感謝。 – 2012-07-31 04:59:25

+0

@Kris,你需要使用像phpmyadmin這樣的工具編輯數據庫結構。 – 2012-08-01 00:22:18

2

也許嘗試運行SET GLOBAL的sql_mode =「」或修改您的my.cnf,以確保你不設置STRICT_ALL_TABLES等。 Yii問題