MyQEE\Server\Table::_mysqlBuilderFieldSQL PHP Method

_mysqlBuilderFieldSQL() protected static method

protected static _mysqlBuilderFieldSQL ( &$output, $col, $set )
    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;
            }
        }
    }