asdw_check_add_field – Spalte in SQL-Tabelle prüfen und einfügen, wenn nicht vorhanden
Diese Funktion für Scriptcase prüft, ob die Spalte $t_column in der Tabelle $t_table vorhanden ist.
Wenn nicht, wird sie gemäß den üblichen SQL-Angaben in $t_details eingefügt.
Beispiel:
asdw_check_add_field("stock_products", "keycode_hash", "varchar(255) COLLATE 'utf8_general_ci' NULL COMMENT 'Hashcode für den Keycode für schnelleres Vergleichen auf Doubletten' AFTER `keycode`, ADD index(keycode_hash)");
Prüft, ob das Feld
keycode_hash in der Tabelle
stock_products vorkommt.
Wenn nicht, wird es als varchar(255) eingefügt. NULL ist zulässig. Es wird ein normaler Index über das Feld mit angelegt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function asdw_check_add_field($t_table, $t_column, $t_details) { // Prüft, ob ein Feld in der Tabelle enthalten ist und fügt es ggfls. ein // // Beispiel: // asdw_check_add_field("stock_products", "keycode_hash", "varchar(255) COLLATE 'utf8_general_ci' NULL COMMENT 'Hashcode für den Keycode für schnelleres Vergleichen auf Doubletten' AFTER `keycode`, ADD index(keycode_hash)"); asdw_echo('Check if table ' . $t_table . ' has comlumn ' . $t_column . ' and add if not.'); $my_sql = "SHOW COLUMNS FROM `" . $t_table . "` LIKE '" . $t_column . "'"; asdw_echo( $my_sql); sc_select(my_data, $my_sql); if ({my_data} === false) { asdw_error( "Access error. Message =". {my_data_erro} . ' - ' . $my_sql); } else { if($my_data->EOF) { $add_sql = "ALTER TABLE `" . $t_table . "` ADD " . $t_column . " " . $t_details; asdw_echo( "<br>".$add_sql); sc_exec_sql($add_sql); } $my_data->Close(); } } |
Hinweis:
In dieser Funktion verwenden wir zwei andere Funktionen unsere Scriptcase Tipps & Sniplets:
- asdw_echo – Formatierte Anzeige eines Strings
- asdw_error – Formatierte Anzeige einer Fehlermeldung mit Angabe des Projekts, etc.