AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL-Duplexcheck in Tabelle

Ein Thema von stho · begonnen am 27. Aug 2010 · letzter Beitrag vom 30. Aug 2010
Antwort Antwort
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#1

SQL-Duplexcheck in Tabelle

  Alt 27. Aug 2010, 05:54
Datenbank: MySQL • Version: 5,1 • Zugriff über: -
Hallo leute

Ich habe ein kleines Problem was ich mit Hilfe von Google & Co. nicht gelöst bekomme...
Ich habe eine Tabelle (Tabelle X) mit verschiedenen Spalten (ID als Autoincrement-> Spalte0, Spalte1, Spalte2, Spalte3)

Nun will ich das altbekannte Spielchen spielen: Wert adieren wenn Eintrag schon vorhanden, ansonsten anlegen
Dazu habe ich folgenden Code benutzt:

---
INSERT INTO Tabelle (Spalte1, Spalte2, Spalte3) VALUES (3, 18, 12)
ON DUPLICATE KEY UPDATE Spalte3 = Spalte3 + 12
---

Nun legt er mir jedes mal einen neuen Eintrag an wenn ich das ausführe.
Ich weiß, das liegt am Autoincrement (er entdeckt also keinen duplex)
Wie schaffe ich es trotzdem das er nur die duplikate in bestimmten Spalten prüft?
Sprich:
-> Als Duplex erkennen wenn Spalte1 und Spalte2 schon vorhanden sind?

Währe schön wenn ihr mir helfen könntet
  Mit Zitat antworten Zitat
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#2

AW: SQL-Duplexcheck in Tabelle

  Alt 27. Aug 2010, 06:02
hi,

hast du auch einen entsprechenden Index (unique) auf die zu prüfenden Spalten gelegt?
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#3

AW: SQL-Duplexcheck in Tabelle

  Alt 27. Aug 2010, 06:12
vielen dank schonmal das mir jemand um diese uhrzeit antwortet

naja, jeder eintrag ist an und für sich unique weil die ID sich jedes mal automatisch erhöht...
Jedoch würde ich gerne wissen wie und ob man die bedingungen für einen duplex festlegen kann
  Mit Zitat antworten Zitat
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#4

AW: SQL-Duplexcheck in Tabelle

  Alt 27. Aug 2010, 06:29
versuch mal, einen unique index auf die spalte1 und spalte2 zu legen, dann müsste eigentlich der update-teil ausgeführt werden
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#5

AW: SQL-Duplexcheck in Tabelle

  Alt 27. Aug 2010, 06:40
hab jetzt aufspalte 1 und spalte 2 einen primärschlüssel gesetzt und die auto-ID (spalte 0) raus gelöscht...

Es funktioniert!
Absolut geil



Vielen vielen tausend dank!!!
  Mit Zitat antworten Zitat
schlecki

Registriert seit: 11. Apr 2005
Ort: Darmstadt
148 Beiträge
 
Delphi XE2 Enterprise
 
#6

AW: SQL-Duplexcheck in Tabelle

  Alt 27. Aug 2010, 07:56
hm, so meinte ich das eigentlich nicht

du solltest keinen Primär, sondern einen Unique-Index auf die beiden Spalten legen. Man kann durch aus mehrere Indizes pro Tabelle anlegen. Ich war zwar jetzt im Kopf bei FB, aber MySQL kann das mit Sicherheit auch

und die autoIncrement-Spalte würde ich auch wieder einfügen und als Primärindex nehmen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz