protected static function _mysqlBuilderFieldSQL(&$output, $col, $set = 0)
{
# ALTER TABLE `adv` ADD `ss` INT(22) NOT NULL AFTER `noshow`;
# ALTER TABLE `adv` CHANGE `noshow` `noshow` INT(2) NULL DEFAULT '0';
foreach ($col as $field => $item) {
list($type, $size) = $item;
if ($set == 1) {
$t = "CHANGE `{$field}` `{$field}`";
} elseif ($set == 2) {
$t = "`{$field}`";
} else {
$t = "ADD `{$field}`";
}
switch ($type) {
case \Swoole\Table::TYPE_INT:
if ($size > 10) {
$output[] = "{$t} INT({$size}) NOT NULL DEFAULT '0'";
} else {
$output[] = "{$t} BIGINT({$size}) NOT NULL DEFAULT '0'";
}
break;
case \Swoole\Table::TYPE_FLOAT:
$output[] = "{$t} DECIMAL(10,10) NOT NULL DEFAULT '0'";
break;
case \Swoole\Table::TYPE_STRING:
default:
if ($size > 2000) {
$output[] = "{$t} TEXT NOT NULL DEFAULT ''";
} else {
$output[] = "{$t} VARCHAR({$size}) NOT NULL DEFAULT ''";
}
break;
}
}
}