MySQL Zeilen nicht doppelt

Hallo,
ich will in meine MySQL Datenbank die Tabelle füllen. Nun der Wert soll unter einer bestimmten Anzahl einträgen nicht vorkommen.
Dann soll er erst neu geschrieben werden. So will ich verhindern, dass die Werte hintereinander doppelt sind. Aber in der ganzen Tabelle diürfen sie schon doppelt vorkommmen.
Kann mir jemand helfen?

Vielen Dank im Voraus
 
1) welcher Wert und welcher Typ (Text oder Zahl)?
2) woher kommt der Vorgabewert für dieses Feld?
3) was soll passieren wenn ein Wert doppelt vorkommt?
4) wird der neue Wert ans Tabellenende geschrieben oder wird er dazwischen einsortiert?

Erkläre doch mal genauer was du machen willst und was der Sinn des ganzen ist. Dann kann man dir sicher helfen.
 
Díe Werte sind unterschiedlich.
In meiner Tabelle erste Spalte ist die ID die bei jeder neuen Zeile um 1 erhöt wird, aber das ist unwichtig.
Dannach kommt das Datum im Textformat zb. 23.10.2012
Die nächsten Spalten bestehen aus unterschiedlichem Text.
Der Vorgabe wert wird von meinem PHP Script erzeugt und in einen String geschrieben.
Wenn der wert doppelt vorkommt soll er nicht in die Datenbank geschrieben werden.
Der Wert darf in der Ganzen Tabelle schon öfters vorkommen nur in einer Anzahl bestimmter Einträge nicht.
zb (Kein reiner PHP Code)
PHP:
if(strstr($sqlresult,"23.10.2012") != false)
{

echo "Der wert ist in der Datenbank schon vorhanden!";
}

So will ich das machen. Aber dass solll nur mit den letzten 80 Einträgen passieren.
Die Anderen sollen nicht berücksichtigt werden.

wenn etwas unklar istt bitte nachfragen!
 
Na wenn es immer nur die letzten 80 Einträge betrifft, dann prüfe vor dem Speichern mit einer separaten Abfrage ob der Wert bereits enthalten ist:

PHP:
$sql = "SELECT id FROM tabelle WHERE datum = '23.10.2012' ORDER BY id DESC LIMIT 80";
$query = mysql_query($sql);

if (mysql_num_rows($query) != 0) {
    echo "Der Wert ist in der Datenbank schon vorhanden!";
} elseif (mysql_num_rows($query) == 0) {
    // Code um den neuen Datensatz zu speichern
}

Das fest eingebaute Datum musst du dann halt entsprechend variabel halten. Ansonsten sollte es so klappen.
 

Neue Beiträge

Zurück