Überprüfen der Spaltenexistenz in MySQL-Tabellen
Die Bestimmung der Präsenz einer bestimmten Spalte in einer MySQL-Tabelle ist eine grundlegende Aufgabe in der Datenbankprogrammierung. Im Vergleich zu anderen relationalen Datenbanksystemen kann der Ansatz von MySQL bei dieser Abfrage jedoch verwirrend sein.
Betrachten Sie den folgenden Abfrageversuch, der sowohl nach einer Spalte sucht als auch diese erstellt, wenn sie fehlt:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='prefix_topic' AND column_name='topic_last_update') BEGIN ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL; UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`; END;
Leider schlägt dieser Code fehl, weil MySQL bedingte Anweisungen mit Datenmanipulationsvorgängen verarbeitet.
Zuverlässig Lösung
Um zuverlässig nach einer Spalte in MySQL zu suchen und diese zu erstellen, versuchen Sie diesen alternativen Ansatz:
SHOW COLUMNS FROM `table` LIKE 'fieldname';
Diese Abfrage ruft eine Zeile nur ab, wenn der angegebene Feldname in der Tabelle vorhanden ist . Anschließend können Sie die Ergebnisse verwenden, um Entscheidungen in Ihrem Code zu treffen.
Zum Beispiel in PHP:
$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'"); $exists = (mysql_num_rows($result))?TRUE:FALSE;
Schlussfolgerung
Prüfung auf und Das Bearbeiten von Spalten in MySQL erfordert einen anderen Ansatz als in vielen anderen Datenbanksystemen. Durch die Verwendung der SHOW COLUMNS-Abfrage können Sie eine zuverlässige Spaltenvalidierung und -manipulation in Ihren MySQL-Anwendungen sicherstellen.
Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL zuverlässig nach einer Spalte suchen und diese erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!