protected function _fetchConstraints()
    {
        $constraints = $this->_database->query(
            <<<EOT
            SELECT kcu.column_name
            FROM information_schema.key_column_usage kcu
            JOIN information_schema.table_constraints tc
            USING (table_schema, table_name, constraint_schema, constraint_name)
            WHERE tc.constraint_type = 'PRIMARY KEY'
            AND tc.table_schema = ?
            AND LOWER(tc.table_name) = ?
            ORDER BY kcu.ordinal_position
EOT
            ,
            array(
                $this->_database->getTableSchema(),
                $this->_name,
            )
        );
        foreach ($constraints as $constraint) {
            $this->_primaryKey[] = $this->_columns[strtolower($constraint['column_name'])];
        }
    }