php mysql insert语句的问题?
PHP中文网
PHP中文网 2017-04-10 16:37:20
0
2
436

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中文网
PHP中文网

认证高级PHP讲师

reply all(2)
洪涛

帖一下表定义给我们看看:

show create table 表名;

你这个报错是zhenbenling.news表的typeid字段没有默认值(且它不允许null值),你插入的时候,必须给这个字段值的!哪怕是''!

你想方便的话,修改下这列的约束:

use zhenbenling;
alter table news change typeid typeid smallint(5) NOT NULL DEFAULT '';

你确定insert那条记录,在phpcms中能查到吗?phpadmin报错是正常的,就应该报错。

阿神

给typeid字段默认值,或者允许为空

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template