zoukankan      html  css  js  c++  java
  • 添加数据时如何向表中插入默认值?

    建了一个表,建表SQL语句如下:
    CREATE TABLE `myuser` (
      `uid` int(11) unsigned NOT NULL auto_increment,
      `username` varchar(250) NULL default '王兵',
      `photo` varchar(250) NULL default '32423342',
      PRIMARY KEY  (`uid`),
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk;

    username和photo两个字段都设置了默认值,提交保存数据时的代码如下:
    $Name = ($_POST['username']  == '' ) ? default : $_POST['username'];
    $Photo = ($_POST['Photo']  == '' ) ? default : $_POST['Photo'];

    如果提交时表单部分都填了数据,那插入数据则没没错,但如果没有提交任何数据,则不会完成插入数据动作,问题出在default这儿,这个写法不对(但在mysql中是对的,比如insert into a (aa,bb) values (default,default);测试过没错的,但在php程序中就不行了),怎样写才对呢?希望得到大家的指点,谢谢。用null也不行,也不能用具体的字符串来代替(只能由数据库自动将默认值插入字段)。 

    后将代码改为:
    $Name = ($_POST['Name']  == '' ) ? NULL : $_POST['Name'];

    即将default改为NULL,但一样没用,当然用如下语句是有效的:
    $Name = ($_POST['username']  == '' ) ?'王兵' : $_POST['username'];
    $Photo = ($_POST['Photo']  == '' ) ?'32423342': $_POST['Photo'];

    但我不想用具体的字符串来代替,想实现在mysql中用default来插入默认值的功能,不知如何写才正确?

  • 相关阅读:
    FTP上传下载使用ASCII与binary的区别
    was日志报检测到cpu饥饿
    AIX的inittab配置文件解释
    启动和停止 IBM HTTP Server
    阿里云 centos7 设置python2 与 python3 并存
    股票---逢9必涨!华为男卖4套房炒股,2019年不能错过?
    看了电影,万箭穿心
    今天是来cnblog的第一天,值得纪念哈^v^
    函数
    集合( set )
  • 原文地址:https://www.cnblogs.com/xiaolongphp/p/4800642.html
Copyright © 2011-2022 走看看