WernerK: Diese Tabelle enthält keine eindeutige ("unique") Spalte.

Hallo

Obige Meldung bekomme ich in phpmyadmin. Ein Select mit * geht, ohne dieser Meldung

SELECT *
FROM tvalue
WHERE elementid =3676
LIMIT 0 , 30

Sobald ich aber eine einzelne Spalte selektiere
SELECT elementvalue
FROM tvalue
WHERE elementid =3676
LIMIT 0 , 30

ist die Meldung da.
Wie ist das zu verstehen? Bezieht sich die Meldung nur auf das Select Ergebnis?

Gruss
Werner

  1. Hallo

    moin

    Obige Meldung bekomme ich in phpmyadmin. Ein Select mit * geht, ohne dieser Meldung

    phpmyadmin hat eine Funktion, mit welcher man in der ergebnistabelle werte direkt editieren kann. Dis geht aber meines wissens nach nur, wenn phpmyadmin eine zeller einem datensatz in der datenbanktabelle wieder zuordnen kann

    SELECT name FROM Personen WHERE name='Müller'

    ergibt beispielsweise:

    --------
    |Müller|
    |Müller|
    |Müller|
    |Müller|
    |Müller|
    --------

    willst du jetzt den dritten Müller in Meier ändern, dann wüsste phpmyadmin nicht, um welchen Datensatz es sich in der Datenbank handelt

    SELECT person_id, name FROM Personen WHERE name='Müller'

    ergibt beispielsweise:
    ----------
    |1|Müller|
    |3|Müller|
    |4|Müller|
    |7|Müller|
    |9|Müller|
    ----------

    vorausgesetzt, dass Person_id eindeutig ist, kann hier jede zelle editiert werden, da eine eindeutige zuordnung möglich ist ;)

    LG SorgenKind Mech

    1. Nachtrag: eine unique-Spalte ist eine Spalte, die einen Unique-Index hat (oder auch als Primary-key deklariert ist) - ergo ist der Inhalt eines datensatzes in dieser spalte immer eindeutig und einmalig

      LG