phpcms 系統中有個sql語句(添加文章內容),我將其執行的sql語句記錄到檔案中,發現有一個欄位沒有插入,也沒有預設值,不知道這個sql語句是怎樣執行成功的,我在phpmyadmin中執行語句就會報錯。
下面的sql語句中並沒有typeid這個欄位,這個欄位是非空的,且沒有預設值。(資料表名字已替換)
INSERT INTO `somedb`.`news`(`hascode`,`style`,`thumb`,`inputtime`,`islink`,`catid`,`title`,`keywords`,`description`,`posids`,`status`,`updatetime`,`username`,`sysadd`) VALUES ('0','','','1452096000','0','1','看看這些情況是怎麼回事呢?','回事 情況','再來看看這些情況是怎麼回事呢?','0','99','1452133458','wenhua','1')
上面的錯誤是同樣的sql語句在phpmyadmin中執行的,但是phpcms系統中卻能成功執行,不知道這是怎麼回事?
回複內容:
phpcms 系統中有個sql語句(添加文章內容),我將其執行的sql語句記錄到檔案中,發現有一個欄位沒有插入,也沒有預設值,不知道這個sql語句是怎樣執行成功的,我在phpmyadmin中執行語句就會報錯。
下面的sql語句中並沒有typeid這個欄位,這個欄位是非空的,且沒有預設值。(資料表名字已替換)
INSERT INTO `somedb`.`news`(`hascode`,`style`,`thumb`,`inputtime`,`islink`,`catid`,`title`,`keywords`,`description`,`posids`,`status`,`updatetime`,`username`,`sysadd`) VALUES ('0','','','1452096000','0','1','看看這些情況是怎麼回事呢?','回事 情況','再來看看這些情況是怎麼回事呢?','0','99','1452133458','wenhua','1')
上面的錯誤是同樣的sql語句在phpmyadmin中執行的,但是phpcms系統中卻能成功執行,不知道這是怎麼回事?
帖一下表定義給我們看看:
show create table 表名;
你這個報錯是zhenbenling.news表的typeid欄位沒有預設值(且它不允許null值),你插入的時候,必須給這個欄位值的!哪怕是''!
你想方便的話,修改下這列的約束:
use zhenbenling;alter table news change typeid typeid smallint(5) NOT NULL DEFAULT '';
你確定insert那條記錄,在phpcms中能查到嗎?phpadmin報錯是正常的,就應該報錯。
給typeid欄位預設值,或者允許為空白