search

Home  >  Q&A  >  body text

php mysql insert语句的问题?

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中文网2817 days ago431

reply all(2)I'll reply

  • PHP中文网

    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报错是正常的,就应该报错。

    reply
    0
  • 阿神

    阿神2017-04-10 16:39:20

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

    reply
    0
  • Cancelreply