Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So löschen Sie eine Spalte aus einer Tabelle in MySQL mithilfe einer Spaltennummer

Um die RMathis-Antwort zu ergänzen, können Sie alles in SQL tun, indem Sie auch SET verwenden, um die DROP-Zeichenfolge in Verbindung mit VORBEREITEN und AUSFÜHREN

SQL-Geige

MySQL 5.6-Schema-Setup :

CREATE TABLE Table1
    (`col1` varchar(1), 
     `col2` varchar(1), 
     `col3` varchar(1), 
     `col4` varchar(1), 
     `col5` varchar(1))
;

set @col = (select column_name 
            from information_schema.columns 
            where table_name='table1' and ordinal_position=3);

SET @s = CONCAT("alter table table1 drop column ", @col);

PREPARE stmt FROM @s;

EXECUTE stmt;

DEALLOCATE PREPARE stmt;

Abfrage 1 :

desc table1

Ergebnisse :

| COLUMN_NAME | COLUMN_TYPE | IS_NULLABLE | COLUMN_KEY | COLUMN_DEFAULT | EXTRA |
|-------------|-------------|-------------|------------|----------------|-------|
|        col1 |  varchar(1) |         YES |            |         (null) |       |
|        col2 |  varchar(1) |         YES |            |         (null) |       |
|        col4 |  varchar(1) |         YES |            |         (null) |       |
|        col5 |  varchar(1) |         YES |            |         (null) |       |