kostenloser Webspace werbefrei: lima-city


tabelle mit autoindex und keine doppelte werte

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    internetplattform

    internetplattform hat kostenlosen Webspace.

    hallo zusammen

    wie kann ich eine tabelle erstellen welche folgende kriterien erfüllt

    spalten kriterien
    ---------------------
    spalte1 = autoindexzahl
    spalte2 = text (nicht doppelte)
    spalte3 = zahl

    inhaltbeispiel:
    1 hallo 12
    2 hallo 44 (kann nicht gespeichert werden, da hallo bereits exisitert)
    2 juhu 543


    wie kann man so eine tabelle erstellen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich nehme mal an, du meinst eine mysql-Datenbanktabelle?

    In PhpMyAdmin gehst legst du in deiner Datenbank eine neue Tabelle an.
    - Für die 3 Spalten vergibst du jeweils einen Namen.
    - Für jede Spalte gibst du den Typ an:
    -> Für den Index 'int'
    -> Für einen langen Text 'Text', für einen kurzen am besten 'varchar' sowie eine maximale Zeichenlänge
    -> Für eine natürliche Zahl 'int', für eine Dezimalzahl 'Float' oder 'Decimal'
    - Beim Index checkst du die Box unter 'A_I' (Auto Increment)
    - Überall, wo du eingaben erzwingen willst achtest du darauf, dass kein Harken bei 'NULL' gesetzt ist

    Nach dem klicken auf speichern wird die der Reiter 'Struktur' angezeigt. Beim Text klickst du auf 'Unique' um doppelte Werte zu unterbinden. Bei dem Index kannst du das auch machen, sollte aber unnötig sein, da die Eingabe ohnehin durch das Auto Increment geregelt wird.
  4. CREATE TABLE test (
    spalte1 INT (25) UNSIGNED NOT NULL  AUTO_INCREMENT,
    spalte2 VARCHAR (250) NOT NULL DEFAULT '',
    spalte3 TINYINT (2) UNSIGNED NOT NULL DEFAULT '0',
    PRIMARY KEY  (spalte1),
    UNIQUE (spalte2)
    )ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


    Wichtig hier ist das UNIQUE, das sagt, das diese Spalte keine doppelten Einträge haben darf.

  5. Hallo

    um das "keine doppelte werte" zu erreichen,
    kann man folgendes machen: vor dem INSERT eine Abfrage, ob Wert schon in Tabelle / Spalte


    $mysqli->query("SELECT count(*) FROM test WHERE spalte1 = '$testwert' ");

    Wenn das Ergebnis Größer 0 (Null) ist, dann ist der Eintrag schon vorhanden (doppelt)

    oder
    mit ADD UNIQUE INDEX beim Erstellen (CREATE) und mit IGNORE beim Speichern (INSERT)

    :=)

  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!