php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.11.2005, 11:58  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 21
Mondschein
Standard UNIQUE Frage ( abfrage problem )

Hallo zusammen ,

ich habe mal eine frage :

Also ich habe 3 Felder meiner DB mit UNIQUE belegt ! Das bewirkt :

man kann jeweils in die 3 felder eine zahl eingeben , daraus ergibt sich eine kombination die aber nict doppelt in der DB stehen darf !

Das klappt soweit und kommt aber keine fehlermeldung , wenn ein user versucht eine schon existierende kombination einzugeben !

Wie könnte die Abfrage aussehen um ausgeben zu lassen :

Die 3 Zahlen gibt es schon !


Greez

Mondschein
Mondschein ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.11.2005, 12:08  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich kenn den MySQL Befehl nicht, aber ich habs immer so gemacht:

in phpMyAdmin nachträglich nen Primärschlüssel angelegt für irgendein Feld. Den Befehl hab ich mir bemerkt. War sowas wie
ALTER TABLE DROP PRIMARY KEY SET (`spalte`)

Dann hab ich den wieder entfernt (unter Struktur) und den vorherigen SQL-Befehl ins phpMyAdmin-SQL-Feld reinkopiert und statt (`spalte`) jetzt (`spalte1`, `spalte2`,`spalte3`) geschrieben, sah dann also etwa so aus:
ALTER TABLE DROP PRIMARY KEY SET (`spalte1`, `spalte2`,`spalte3`)
Wie gesagt: ist Pseudocode, müsstest so wie beschrieben vorgehen oder warten bis jemand den korrekten Code postet.

Die Frage die sich dann aber oft stellt ist, macht es dann überhaupt Sinn, diese Eingaben in 3 Spalten auszuteilen oder würde nicht auch eine genügen...
Zergling-new ist offline   Mit Zitat antworten
Alt 08.11.2005, 12:14  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 21
Mondschein
Standard

das mit den 3 spalten habe ich ja schon , sind alle 3 mit den key belegt ( UNIQUE )

nun will ich aber das der User es mitbekommt das die zahlen schon drin stehen !


auf diese abfrage komm ich einfach net
Mondschein ist offline   Mit Zitat antworten
Alt 08.11.2005, 12:22  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Achso, na dann mach halt eine SELECT-Abfrage bevor du den Datensatz einfügst:

PHP-Code:
<?php
$sql 
"SELECT COUNT(id) FROM table WHERE col1='$col1' AND col2='$col2' AND col3='$col3'";
if (
mysql_result(mysql_query($sql),0) == 0) {
  
// gibts noch net
} else {
  
// da war jemand schneller...
}
?>
Zergling-new ist offline   Mit Zitat antworten
Alt 08.11.2005, 12:33  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 21
Mondschein
Standard

Ich glaube es scheint zu klappen !

Danke schön


Mfg

Mondschein
Mondschein ist offline   Mit Zitat antworten
Alt 08.11.2005, 12:34  
Gast
 
Beiträge: n/a
Standard

Mit Zerglings Methode musst Du die Tabelle vor dem SELECT bis nach dem INSERT sperren, sonst hast Du race conditions.


Andere Methode:
duplicate entry for key X hat den Fehlercode 1062
PHP-Code:
<?php
$sql 
'INSERT INTO ...';
$result mysql_query($sql$db);
if (
mysql_errno()==1062) {
    echo 
'Kombination bereits vorhanden';
}
else if (
mysql_errno()!=0) {
    die(
mysql_error());
}
else {
    echo 
'erledigt';
}
?>
  Mit Zitat antworten
Alt 08.11.2005, 12:44  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Die Rangehensweise kannte ich noch garnicht, sehr interessant. Danke für den Hinweis!
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit kleiner Abfrage trash PHP Tipps 2008 14 06.07.2008 21:09
[Erledigt] MySql Frage: Problem mit einer etwas lomplexeren Abfrage tomtaz Datenbanken 5 24.06.2008 22:36
Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt Seb PHP Tipps 2008 2 29.05.2008 11:36
Mysql SELECT Abfrage -- Problem mit LIMIT djrace Datenbanken 2 01.05.2006 12:58
Problem mit Volltextsuche und Abfrage pixelcut Datenbanken 0 09.08.2005 19:54
problem bei ausgabe einer abfrage aus 2 Tabellen Lia PHP Tipps 2005-2 2 28.07.2005 17:30
Problem 2 - komplexere Abfrage aus drei Tabellen Datenbanken 0 15.07.2005 13:59
Problem mit abfrage. PHP Tipps 2005 13 30.03.2005 18:00
[Erledigt] Problem mit Abfrage Datenbanken 2 07.02.2005 23:14
Abfrage Problem suter PHP Tipps 2005 21 19.01.2005 11:46
Abfrage mit Sortierung Problem ! PHP Tipps 2005 2 08.01.2005 14:20
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
SQLite - Problem mit Abfrage Datenbanken 2 09.11.2004 12:05
Grundlegende Frage zur Ausgabe einer Abfrage PHP Tipps 2004 1 24.09.2004 14:07
Problem mit SQL Abfrage Schiedsrichter Datenbanken 2 02.08.2004 07:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql abfrage unique, in php unique abfragen, sql unique kombination, sql abfrage uniq, php sql abfrage unique, mysql abfrage werte unique, lotto, mysql unique abfragen, sql abfrage lottozahlen, sql abfrage lotto datenbank, mysql select lottozahlen richtige, uniqe zahl php, sql select lottozahlen, sql 1062 abfragen vorhanden, unique felder abfangen php, mysql struktur unique abfragen, datenbank kombination felder unique, mysql tabelle mit lottozahlen abfragen, php unique abfragen, php mysql unique if else wenn vorhanden ausgeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.