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系统中却能成功执行,不知道这是怎么回事?
PHP中文网2017-04-10 16:39:20
帖一下表定义给我们看看:
show create table 表名;
你这个报错是zhenbenling.news表的typeid字段没有默认值(且它不允许null值),你插入的时候,必须给这个字段值的!哪怕是''!
你想方便的话,修改下这列的约束:
use zhenbenling;
alter table news change typeid typeid smallint(5) NOT NULL DEFAULT '';
你确定insert那条记录,在phpcms中能查到吗?phpadmin报错是正常的,就应该报错。