db_table_fix_sql
本文整理于网络,仅供阅读参考,如有不妥之处,敬请批评指正!如果您想加入微擎社区版技术大牛微信群和QQ群,请联系微信: ccccyyyy4444 或者 QQ:155120699
db_table_fix_sql() - 创建修复两张差异表
说明
db_table_fix_sql($schema1, $schema2, $strict = false)
参数
名称 | 类型 | 说明 |
---|---|---|
$schema1 | string | 表结构 需要修复的表 |
$schema2 | string | 表结构 基准表 |
$strict | boolean | 使用严格模式, 严格模式将会把表2完全变成表1的结构, 否则将只处理表2种大于表1的内容(多出的字段和索引) |
示例
$id = array('type' => 'id', 'default' => 12, 'increment' => 'AUTO_INCREMENT');
$sex = array('type' => 'sex', 'default' => 1);
$age = array('type' => 'age', 'default' => 0);
$index = array('fields' => array('id'), 'type' => 'primary');
$table1 = array('tablename' => 'zefeng', 'fields' => array($id, $sex, $age), 'indexes' => array($index), 'engine' => 'InnoDB', 'charset' => 'utf8');
$id = array('type' => 'id', 'default' => 12, 'increment' => 'AUTO_INCREMENT');
$name = array('type' => 'name', 'default' => 11);
$age = array('type' => 'ages', 'default' => 0);
$index = array('fields' => array('name'), 'type' => 'index');
$table2 = array('tablename' => 'zefeng', 'fields' => array($id, $name, $age), 'indexes' => array($index), 'engine' => 'InnoDB', 'charset' => 'utf8');
var_dump(db_table_fix_sql($table1, $table2));
array (size=3)
0 => string 'ALTER TABLE `zefeng` CHANGE `` `` name unsigned NOT NULL DEFAULT '11'' (length=69)
1 => string 'ALTER TABLE `zefeng` CHANGE `` `` ages unsigned NOT NULL DEFAULT '0'' (length=68)
2 => string 'ALTER TABLE `zefeng` DROP PRIMARY KEY , ADD INDEX `` (`name`)' (length=63)
如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。