Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

MySQL.User verwenden

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Locke, 14 September 2014.

  1. Locke

    Locke Benutzer

    Servus,
    bin seit heute früh auf der Suche nach einer Lösung zu folgendem Problem:
    Es geht um die Tabelle "User" im anhängenden Bild. Diese Tabelle "User" soll durch mysql.user ersetzt werden, damit die weiteren Funktionen wie in dem Diagramm beschrieben sind, funktionieren.
    Ich hoffe dass mir jemand weiterhelfen kann da die Suche im Internet leider keine passenden Ergebnisse liefert.
     
    Zuletzt von einem Moderator bearbeitet: 16 September 2014
  2. akretschmer

    akretschmer Datenbank-Guru

    Hast Du überhaupt Rechte darauf?

    • warum speicherst Du Menge als varchar(45)?

    Andreas
     
  3. Locke

    Locke Benutzer

    Ja komplette Adminrechte

    Ist Falsch, ist aber auch nicht ausschlaggebend für mein Problem.
     
  4. Locke

    Locke Benutzer

    Die Frage ist ob die Möglichkeit besteht die "User" Tabelle durch mysql.user zu ersetzen?
    Da in mysql.user die Benutzer/Host/Passwörter drin stehen.
     
  5. Locke

    Locke Benutzer

    Ok Thema hat sich erledigt!
    Eine Fremschlüsselzuweisung von einer InnoDB auf eine Systemtabelle(MyISAM) ist nicht Möglich!
     
  6. akretschmer

    akretschmer Datenbank-Guru

    Das geht generell nicht bei MyISAM. Ist halt Technik aus dem Mittelalter. Wobei sich MySQL hier mal wieder von seiner besten Seite zeigt:

    Code:
    mysql> create table master (i int primary key) ;
    Query OK, 0 rows affected (0.03 sec)
    
    mysql> create table slave (mid int, constraint xxx foreign key (mid) references master(i));
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> show create table master;
    +--------+--------------------------------------------------------------------------------------------------------------------------------------+
    | Table  | Create Table  |
    +--------+--------------------------------------------------------------------------------------------------------------------------------------+
    | master | CREATE TABLE `master` (
      `i` int(11) NOT NULL,
      PRIMARY KEY (`i`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci |
    +--------+--------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.04 sec)
    
    mysql> show create table slave;
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table  |
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------+
    | slave | CREATE TABLE `slave` (
      `mid` int(11) DEFAULT NULL,
      KEY `xxx` (`mid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci |
    +-------+-------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.03 sec)
    
    mysql> insert into slave values (1);
    Query OK, 1 row affected (0.03 sec)
    
    
    *facepalm*
     
  7. ukulele

    ukulele Datenbank-Guru

    Ich gehe mal davon aus das die Tatsache das es sich um eine Systemtabelle handelt egal ist. Warscheinlich ist nur die Engine das Problem und MyISAM kann eben keine Referenzielle Integrität.
     
  8. Locke

    Locke Benutzer

    Ja das ist das eigentliche Problem. Aber ich werde das jetzt irgendwie anders lösen.
    Vielen Dank für die schnelle Hilfe.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden