首页 > 代码库 > onethink在mysql下不能新建编辑器类型字段
onethink在mysql下不能新建编辑器类型字段
onethink在mysql下不能新建编辑器类型字段
clone最新的代码安装完毕,继承基础文档,新增detaildesc字段为编辑器类型,没有新建表。且sql语句有误
主要原因是 MYSQL5.x是不允许BLOB/TEXT类型的字段拥有默认值的,暂时修复代码为Admin/Controller/AttributeController.class.php
protected function updateField($field){ //检查表是否存在 $table_exist = $this->checkTableExist($field[‘model_id‘]); //获取原字段名 $last_field = $this->getFieldById($field[‘id‘], ‘name‘); /*获取默认值 1、 MYSQL5.x是不允许BLOB/TEXT类型的字段拥有默认值的 2、 由于MYSQL是在‘strict mode’严格模式下工作的,如果改为非严格模式,上面的语句就可以执行成功 3、 MYSQL5.x在windows下是默认以‘strict mode’工作的,当执行上面的语句时,会给你一个错误或者警告信息 */ if(strpos(strtolower($field[‘field‘]), ‘text‘) >=0){ $default = ‘‘; }else{ $default = $field[‘value‘]!=‘‘ ? " DEFAULT ‘".$field[‘value‘] ."‘" : ‘‘; } $sql = <<<sql ALTER TABLE `{$this->table_name}` CHANGE COLUMN `{$last_field}` `{$field["name"]}` {$field["field"]} {$default} COMMENT ‘{$field["title"]}‘; sql; $res = M()->execute($sql); return $res !== false; }
onethink在mysql下不能新建编辑器类型字段
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。