Heim >Datenbank >MySQL-Tutorial >Wie kann man in MySQL-Tabellen zuverlässig nach fehlenden Spalten suchen und diese hinzufügen?

Wie kann man in MySQL-Tabellen zuverlässig nach fehlenden Spalten suchen und diese hinzufügen?

DDD
DDDOriginal
2024-12-07 10:10:17786Durchsuche

How to Reliably Check for and Add Missing Columns in MySQL Tables?

Fehlende Spalten in MySQL-Tabellen suchen und erstellen

In MySQL ist es nicht ungewöhnlich, zu überprüfen, ob eine bestimmte Spalte in einer Tabelle vorhanden ist und wenn nicht, erstellen Sie es. Während dies in vielen anderen Datenbanken ein unkomplizierter Vorgang ist, weist MySQL seine eigenen Nuancen auf.

Der bereitgestellte Abfrageversuch:

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;

schlägt aufgrund der Einschränkungen von MySQL fehl. Es gibt jedoch eine zuverlässige Methode zum Überprüfen der Spaltenexistenz:

SHOW COLUMNS FROM `table` LIKE 'fieldname';

In PHP:

$result = mysql_query("SHOW COLUMNS FROM `table` LIKE 'fieldname'");
$exists = (mysql_num_rows($result)) ? TRUE : FALSE;

Wenn die Abfrage Zeilen zurückgibt, ist die Spalte vorhanden; andernfalls ist dies nicht der Fall. Mit diesen Informationen können Sie dann nach Bedarf mit der Erstellung der Spalte fortfahren.

Das obige ist der detaillierte Inhalt vonWie kann man in MySQL-Tabellen zuverlässig nach fehlenden Spalten suchen und diese hinzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn