比如要在商城频道里边增加一条参数,平时全新安装语句是可以这样使用。 ~~~ INSERT INTO `qb_config` (`id`, `type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`) VALUES(0, -1, '允许享受VIP价格的用户组', 'group_vip_price', '3,11', 'usergroup2', '', 0, '', '', 0, 4); ~~~ 第一项id变成 `0` 第二项type变成 `-1` ,这仅仅适合全新安装,如果是升级的话,就不适用的。升级的话,只能用程序执行,比如新增加这样一个文件 `\application\shop\upgrade\U1.php` 文件名是可以随意的,但首字母必须要大写,里边的类名也要对应一样 内容如下 ~~~ <?php namespace app\shop\upgrade; use think\Db; class U1{ public static function up(){ $sysid = modules_config('shop')['id']; $type = Db::name('config_group')->where('sys_id',$sysid)->value('id'); into_sql("INSERT INTO `qb_config` (`id`, `type`, `title`, `c_key`, `c_value`, `form_type`, `options`, `ifsys`, `htmlcode`, `c_descrip`, `list`, `sys_id`) VALUES(0, {$type}, '允许享受VIP价格的用户组', 'group_vip_price', '3,11', 'usergroup2', '', 0, '', '', 0, {$sysid});"); } } ~~~ 上面SQL语句用到了两个变量 `$sysid` `$type` ,当然id值也必须要设置为0 注意`U1`是文件名要与类名一样.大写字母开头. 命名空间也要注意一致. 方法名必须是up() 这样用户升级下载这个文件的时候,就会被执行了.以后就不能再修改.不然用户又要重新下载一次,又会重新执行多一次.