php 添加字段索引、删除字段索引、添加字段、修改字段类型

<?php
namespace app\api\controller;

use app\common\controller\Api;
use think\Response;
use think\Config;
use think\Db;
use fast\Http;

/**
 * 示例接口
 */
class Demo extends Api
{

    //如果$noNeedLogin为空表示所有接口都需要登录才能请求
    //如果$noNeedRight为空表示所有接口都需要验证权限才能请求
    //如果接口已经设置无需登录,那也就无需鉴权了
    //
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['*'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['*'];

    /**
     * 测试方法
     *
     * @ApiTitle    (测试名称)
     * @ApiSummary  (测试描述信息)
     * @ApiMethod   (POST)
     * @ApiRoute    (/api/demo/test/id/{id}/name/{name})
     * @ApiHeaders  (name=token, type=string, required=true, description="请求的Token")
     * @ApiParams   (name="id", type="integer", required=true, description="会员ID")
     * @ApiParams   (name="name", type="string", required=true, description="用户名")
     * @ApiParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据")
     * @ApiReturnParams   (name="code", type="integer", required=true, sample="0")
     * @ApiReturnParams   (name="msg", type="string", required=true, sample="返回成功")
     * @ApiReturnParams   (name="data", type="object", sample="{'user_id':'int','user_name':'string','profile':{'email':'string','age':'integer'}}", description="扩展数据返回")
     * @ApiReturn   ({
         'code':'1',
         'msg':'返回成功'
        })
     */
    public function tableField(){
        $pre = Config('database.prefix');
        $table_name = Db::query("SHOW INDEX FROM ".$pre."test_table");
        $table_arr = [];
        foreach($table_name as $key =>$r){
            $table_arr[] = $r['Column_name'];
        }
        //删除
        if(in_array('order_num',$table_arr)){
            Db::execute("ALTER TABLE ".$pre."test_table DROP INDEX order_num");
        }
        //添加
        if(!in_array('order_id',$table_arr)){
            Db::execute("ALTER TABLE ".$pre."test_table ADD UNIQUE (`order_id`)");
        }
        //添加字段 修改字段长度
        $db = Db::getConnection();     
        $table_name_fields_arr = $db->getFields($pre.'test_table'); //传入数据表名称
        foreach($table_name_fields_arr as $key => $r){
            if($key == 'goods_img'){
                Db::execute("ALTER TABLE ".$pre."test_table CHANGE `goods_img` `goods_img` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '商品图片'");
            }
            if($key == 'buy_num'){
                $buy_num = 1;
            }
        }
        if(empty($buy_num)) {
            Db::execute("ALTER TABLE ".$pre."test_table ADD `buy_num` int(11) DEFAULT NULL COMMENT '购买数量'");
        }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子李0531

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值