Datenbankfehler können frustrierend sein, insbesondere wenn Sie an der Optimierung Ihrer Datenbank für Hochleistungsvorgänge arbeiten. Ein häufiger Fehler, auf den Benutzer stoßen, ist die Meldung „Schlüsselspalte ‚option_id‘ existiert nicht in der Tabelle.“ In diesem Leitfaden gehen wir auf diesen speziellen Fehler ein und führen Sie durch die Schritte zur Behebung.
Dies war wirklich schwierig, da ich viele CPU-Spitzen und Fehlerprotokolle bemerkte. Mir ist dieser Fehler aufgefallen:
023-12-23 00:39:51.980 [STDERR] WordPress-Datenbankfehler Unbekannte Spalte „option_id“ in „Bestellklausel“ für Abfrage SELECT * FROM wp_options WHERE option_name LIKE 'wp\_1\_wc\_privacy\_cleanup\_batch\_%' ORDER BY option_id ASC LIMIT 1 erstellt von do_action('wp_ajax_nopriv_wp_1_wc_privacy_cleanup'), WP_Hook->do_action, WP_Hook->apply_filters, WP_Background_Process->maybe_handle, WC_Background_Process->handle, WC_Background_Process->get_batch<br>PHP-Warnung: Versuchen Sie, die Eigenschaft „option_name“ auf null in /usr/local/lsws/wordpress/wp-content/plugins/woocommerce/includes/abstracts/class-wc-background-process.php in Zeile 74 zu lesen<br>PHP-Warnung: Versuchen Sie, die Eigenschaft „option_value“ auf null in /usr/local/lsws/wordpress/wp-content/plugins/woocommerce/includes/abstracts/class-wc-background-process.php in Zeile 75 zu lesen<br>23.12.2023 00:39:51.980 [STDERR] WordPress-Datenbankfehler Unbekannte Spalte „option_id“ in „Bestellklausel“ für Abfrage<br>WÄHLEN *<br>VON wp_options<br>WHERE option_name LIKE 'elementor\_1\_elementor\_pro\_updater\_batch\_%'<br>ORDER BY option_id ASC<br>GRENZE 1<br>erstellt von do_action('wp_ajax_elementor_1_elementor_pro_updater'), WP_Hook->do_action, WP_Hook->apply_filters, Elementor\Core\Base\BackgroundProcess\WP_Background_Process->maybe_handle, Elementor\Core\Base\Background_Task->handle, Elementor\Core\Base\Background_Task ->get_batch, Elementor\Core\Base\BackgroundProcess\WP_Background_Process->get_batch
Benutzerszenario:
Vor zwei Monaten hat der Benutzer Resolvedwritermuhammadzakaullah (@writermuhammadzakaullah) hat eine Frage in einem Forum gepostet, suche Hilfe für eine Fehlermeldung. Hier ist, was der Benutzer erlebt hat:
„Hallo, ich erhalte die folgende Fehlermeldung, wenn ich versuche, Hochleistungsschlüssel zu aktivieren oder sie für einige Tabellen zurückzusetzen: Die Schlüsselspalte „option_id“ ist in der Tabelle nicht vorhanden. Ich habe Diagnosedaten über die ID YrQ6U9cu hochgeladen. Bitte helfen Sie mir.“
Als Antwort auf diese Anfrage werden wir den gleichen Ansatz wie im vorherigen Artikel verwenden, um Resolvedwritermuhammadzakaullah und anderen, die mit diesem Problem konfrontiert sind, zu helfen.
Schritt 1: Zugriff auf Ihre Datenbank:
Zu Beginn benötigen Sie Zugriff auf Ihre MariaDB-Datenbank. Sie können den MariaDB-Befehlszeilen-Client oder eine Webschnittstelle wie PHPMyAdmin verwenden. Wir werden beide Methoden behandeln.
Verwenden des MariaDB-Befehlszeilenclients:
- Öffnen Sie ein Terminal oder SSH in Ihrem Serer: Melden Sie sich mit dem folgenden Befehl bei Ihrer Datenbank an und ersetzen Sie ihn
dein Benutzername
mit Ihrem Datenbank-Benutzernamen:cssemysql -u Ihr_Benutzername -p
- Geben Sie Ihr Datenbankkennwort ein, wenn Sie dazu aufgefordert werden.
Mit PHPMyAdmin:
- Greifen Sie auf Ihre PHPMyAdmin-Weboberfläche zu und melden Sie sich mit Ihren Datenbankanmeldeinformationen an.
Schritt 2: Führen Sie den SQL-Befehl aus:
Da Sie nun mit Ihrer Datenbank verbunden sind, ist es an der Zeit, den Fehler „Schlüsselspalte ‚option_id‘ existiert nicht in der Tabelle“ zu beheben. In diesem Beispiel möchten wir dem einen eindeutigen Schlüssel hinzufügen option_id
Spalte in der betroffenen Tabelle, um die Situation zu beheben.
Verwenden des MariaDB-Befehlszeilenclients:
ALTER TABLE your_table_name ADD COLUMN option_id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD UNIQUE KEY option_id(option_id);
Dieser Befehl fügt eine neue Spalte mit dem Namen hinzu option_id
mit eindeutigen Werten für die angegebene Tabelle.
Mit PHPMyAdmin:
- Wählen Sie die Datenbank aus, die die betroffene Tabelle enthält.
- Klicken Sie auf die Tabelle, um sie auszuwählen.
- Navigieren Sie zur Registerkarte „SQL“ oder zu einer ähnlichen Funktionalität.
- Fügen Sie den folgenden SQL-Befehl ein und klicken Sie auf „Los“ oder „Ausführen“:
ALTER TABLE your_table_name ADD COLUMN option_id INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD UNIQUE KEY option_id(option_id);
Schritt 3: Überprüfen Sie die Änderungen:
Nach der Ausführung des SQL-Befehls sollten Sie eine Bestätigungsmeldung erhalten, dass der Vorgang erfolgreich war.
Abschluss:
Datenbankfehler können eine Herausforderung sein, aber mit der richtigen Anleitung können sie effizient behoben werden. Indem Sie die in dieser Anleitung beschriebenen Schritte befolgen, können Sie den Fehler „Schlüsselspalte 'option_id' existiert nicht in der Tabelle“ in MariaDB beheben und sicherstellen, dass Ihre Datenbank für Hochleistungsvorgänge korrekt strukturiert ist.
Denken Sie wie immer daran, Ihre Daten zu sichern, bevor Sie Änderungen an Ihrer Datenbank vornehmen. Wenn Sie auf andere Datenbankherausforderungen stoßen oder weitere Fragen haben, wenden Sie sich an die Datenbank-Community oder an Fachleute.
Wir hoffen, dass dieser Leitfaden bei der Behebung des von Resolvedwritermuhammadzakaullah gemeldeten spezifischen Fehlers hilfreich war und Sie bei Ihren Datenbankverwaltungsbemühungen unterstützt.