![]() |
Datenbank: mysql • Version: 7.1.4 • Zugriff über: Datenbank-Tool
Datenbankeintrag wird nicht geändert
Hallo...
Ich bin schon ziemlich am verzweifeln, weil ein einfacher SQL-Befehl nicht ausgeführt wird. Folgender SQL-Befehl: UPDATE Daten Set Kategorie='Büromaterial' WHERE Kategorie = 'Bromaterial'; Ich könnte die Daten alle per Hand ändern, das würde gehen, aber es sind mir einfach zu viele. Es geht hier nur um die fehlenden Umlaute. Ich benutze ein Datenbank-Tool (SQLite-Administrator) wo ich diesen SQL-Befehl eingebe. Es passiert aber einfach nix. Wenn ich in der WHERE-Klausel nicht Kategorie sondern ID eingebe, wird dieser eine Datensatz geändert. Deshalb kommt mir die Frage, ob MySql überhaupt als WHERE-Klausel die Selbe wie im SET nicht akzeptiert. |
AW: Datenbankeintrag wird nicht geändert
Versuch bitte, präzise zu sein:
"Passiert nichts" bedeutet was genau? - es geschieht gar nichts - es werden 0 Updates durchgeführt - es wird ein Fehler angezeigt? Starte bitte mal das Select:
Code:
Wieviel Datensätze werden angezeigt?
Select * from Daten WHERE Kategorie = 'Bromaterial';
|
AW: Datenbankeintrag wird nicht geändert
Hallo...
es geschieht gar nichts es werden 0 Updates durchgeführt In der Dataliste wird "Bromateriel" angezeigt, als ich diese per Hand ändern wollte zeigt er mir plötzlich "B romaterial" an, ich denke daran wird es liegen. Diese blöden Umlaute... Gibt es eine Möglichkeit diese in der Datenbank zu ändern oder muss ich alle einzeln ändern ? Mit Select * from Daten WHERE Kategorie = 'Bromaterial'; wird natürlich auch nix angezeigt. Mit Select * from Daten WHERE Kategorie = 'B romaterial'; (Leerzeichen) wird mir auch nix angezeigt. Klar, irgend so ein Umlautdingens... |
AW: Datenbankeintrag wird nicht geändert
Und was passiert bei
SQL-Code:
?
/* jedes "falsche" Zeichen ersetzen */
UPDATE Daten Set Kategorie='Büromaterial' WHERE Kategorie LIKE 'B_romaterial'; |
AW: Datenbankeintrag wird nicht geändert
Phu..
Also mit dem LIKE hat es funktioniert. Ich habe es ein wenig abgeändert:
Code:
Hätt ich ja auch drauf kommen können, hab den LIKE Befehl selber schon oft benutzt...
UPDATE Daten Set Kategorie='Büromaterial' WHERE Kategorie LIKE 'romaterial';
Danke für Deine Hilfe !!! |
AW: Datenbankeintrag wird nicht geändert
Zitat:
Die Nutzung von Like ohne Angabe von Wildcards macht auch wenig Sinn. |
AW: Datenbankeintrag wird nicht geändert
jetzt stell dir mal vor, du hättest an den Datensätzen noch eine ID, welche du jetzt verwenden könntest,
oder wie sieht es mit anderen Spalten aus, welche man nutzen könnte, bzw. das LIKE richtig verwenden? Man könnte auch einfach sortieren und dann die x-te Zeile bearbeiten. (LIMIT, OFFSET, ...) Ansonsten mußt du halt mal nachsehen was wirklich in dem Feld drin steht. Oder einfach in einem Grid die Daten anzeigen, dann den passenden Datensatz auswählen und den jeweiligen Feldinhalt als Parameter für die Änderung. |
AW: Datenbankeintrag wird nicht geändert
Probleme mit Umlauten? In 2020?
Sag mal mit welchen Zugriffskomponenten/Programmen/Tools arbeitest du noch? ich würde erstmal alles aktualisieren auf Komponenten die schon in der "Neuzeit" angekommen sind. Ich glaube seit MySQL 4 sollte man keine Probleme mehr damit haben. Ich würde sagen sorge erstmal dafür das all deine Connection-Verbindungen mit UTF8 laufen (machen moderne Komponenten out of the box). Wenn du nur eine Header-Übersetzung nutzt muss du evtl. die Codierung der Verbindung explizit setzen. |
AW: Datenbankeintrag wird nicht geändert
Das ist ein Zeichensatz Problem. Würde ich nicht mit einem Workaround (aka Like '%') lösen, sondern grundsätzlich. Du kannst im mySql für die Datenbank, die Tabelle und das Feld den Zeichensatz festlegen. Irgendwie müssen die Umlaute ja auch in die DB gekommen sein.
![]() ![]() HTH |
AW: Datenbankeintrag wird nicht geändert
Also, erst einmal vielen Dank für eure Antworten.
Auflösung: Ein Freund hat ein Haushaltsbuch unter Access geschrieben, da mir das aber nicht gefallen hat, allein schon wegen Access, habe ich selber unter Delphi ein Haushaltsbuch geschrieben. Im Access hat er eine Exportfunktion für Excel gemacht. Dementsprechend habe ich diese unter Excel als CSV gespeichert und unter dem Datenbank-Tool importiert. naja, leider ohne Umlaute... wie ich festgestellt habe, habe ich unter Excel ein falsches CSV als Export benutzt. Ich habe das ganze noch mal gemacht und darauf geachtet, das in der CSV auch Umlaute drinn sind. Diese nochmals in meine MySql-Datenbank importiert und siehe da, alls drinn mit Umlaute... Nochmals DANKE an alle... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz