public function setEngine($engine)
    {
        $this->_database->exec(
            'ALTER TABLE ' .
            $this->_database->prepareIdentifier($this->_name) .
            ' ENGINE = ' .
            $this->_database->prepareValue($engine, Column::TYPE_VARCHAR)
        );
        // MySQL ignores invalid engine names. Check explicitly.
        // The getEngine() also implicitly updates $_engine.
        if (strcasecmp($this->getEngine(), $engine) != 0) {
            throw new \RuntimeException('Unsupported table engine: ' . $engine);
        }
    }