Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Wie ist das zu erklären?

1 view
Skip to first unread message

Schultheis Burkhard

unread,
Nov 16, 2020, 1:12:24 AM11/16/20
to
Hoffentlich liest hier noch jemand mit! ;-)

Ich wollte die Tabelle mysql.user bereinigen, weil da noch Einträge für
Hosts drin waren, die wir nicht mehr haben. Ich wollte so etwas tippen:

DELETE FROM mysql.user WHERE host LIKE "nn.nn.nn%";

Aus Versehen ist daraus geworden

DELETE FROM mysql.user WHERE user host LIKE "nn.nn.nn%";

Bewirkt wurde das genaue Gegenteil des beabsichtigten, als hätte ich

DELETE FROM mysql.user WHERE host NOT LIKE "nn.nn.nn%";

eingegeben. War natürlich fatal. Kann sich einer einen Reim darauf
machen, wieso die falsche Anweisung so einen Mist gemacht hat?

Es handelt sich um mariadb 10.4.14.

Grüße
Burkhard

Sebastian Suchanek

unread,
Nov 16, 2020, 11:41:43 AM11/16/20
to
Ich lese zwar noch mit ;-), aber eine Erklärung habe ich für dieses
Verhalten spontan auch nicht. Bist Du Dir sicher, dass Du die falsche
Query wirklich genau so abgeschickt hast? (Logfile, Client-History...)


Tschüs,

Sebastian

Sebastian Suchanek

unread,
Nov 17, 2020, 6:26:39 AM11/17/20
to
Sebastian Suchanek macht die Ingrid:
Ich habe gerade 'mal versucht, das Verhalten nachzuvollziehen,
allerdings mit einer Test-Tabelle außerhalb der Datenbank "mysql". Hier
reagiert MariaDB erwartungsgemäß:

---------------------------- 8< -------------------------------

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 284357
Server version: 10.1.47-MariaDB-0+deb9u1 Debian 9.13

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.

MariaDB [(none)]> SELECT host, user FROM test.user;
+---------+-------+
| host | user |
+---------+-------+
| 1.2.3.4 | test1 |
| 5.6.7.8 | test2 |
+---------+-------+
2 rows in set (0.00 sec)

MariaDB [(none)]> DELETE FROM test.user WHERE user host LIKE "1.2.3%";
ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MariaDB server version for the right
syntax to use near 'host LIKE "1.2.3%"' at line 1
MariaDB [(none)]>

---------------------------- 8< -------------------------------

Damit bleiben mehrere Möglichkeiten:
1. Der Effekt tritt außerhalb der "mysql"-Datenbank nicht auf (IMHO eher
unwahrscheinlich).
2. Der Effekt ist versionsabhängig (v10.4.14 bei Dir, v10.1.47 bei mir).
3. Du hast die Query doch irgendwie anders eingegeben, als Du in Deinem
OP geschrieben hast. Wie genau hast Du abgesetzt? Über den Konsolen-
Client?


Tschüs,

Sebastian

Ralf Schneider

unread,
Feb 22, 2021, 5:25:51 AM2/22/21
to
Am Tue, 17 Nov 2020 12:26:02 +0100 schrieb Sebastian Suchanek:

> Sebastian Suchanek macht die Ingrid:
> syntax to use near 'host LIKE "1.2.3%"' at line 1 MariaDB [(none)]>
Ich fand WHERE CustomerName LIKE 'a%' . Vermutlich liegt es an
Kleinigkeiten wie ' statt ".

Gruß
Ralf





--
http://www.kr-db.de
0 new messages