今日做到个项目是对接第三方平台,他的数据表是根据月份自动创建的,比如:order_202009,这个数据表就是当前月份的,下个月就变成order_202010,由于我这边通过api接口会返回一个我这边生成的订单号给第三方平台进行保存数据,但是呢,第三方平台只给出数据库,原有的表并没有可以保存我返回数据的字段,而他们呢,也不知道是懒还是不想做,也不提供修改建表的方法,所以才想到用这个方法去实现,具体如下:
<?php mysql_connect('localhost:3306', 'root', 'root');mysql_select_db("数据库名");$db = "order_".date('Ym');//当前月份表名$field = mysql_query("Describe $db startno");//startno 是指定的字段$field = mysql_fetch_array($field);//判断是否存在if($field[0]) { //存在就更新 $where['startno'] = "1234567890"; $res = $DB2 ->table("order_".date('Ym'))->where(array('id'=>$v['id']))->update($where);} else { //否则就新增字段 mysql_query("ALTER TABLE $db ADD startno varchar(255)") or die(mysql_error()); $where['startno'] = "1234567890"; $res = $DB2 ->table("order_".date('Ym'))->where(array('id'=>$v['id']))->update($where);}
这样子就把我需要的字段新增上去了,如果你有更好的方法,欢迎留言哦!!