SQL Statement gesucht...

Dimadon

Aktives Mitglied
Ich bräuchte mal eure Hilfe bezüglich eines SQL Statements. Folgende Infos:

- Ich benötige ein Update if exists ansonsten ein Insert...
- Ich habe folgende Spalten: id, msg, uid, did, success, affiliation, rate, result

Nun benötige ich ein SQL-Statement welches erst prüft ob uid und did in Kombination bereits vorhanden ist. Wenn ja, dann Update diesen Datensatz und Erhöhung des INT-Wertes aus rate +1. Wenn bereits der Wert 4 enthalten ist soll zusätzlich in die Spalte result true geschrieben werden.

Wenn der Datensatz in Kombination uid und did noch nicht vorhanden ist neuen Satz anlegen.

Habe wirklich schon einige Statements getestet aber komme nicht auf die richtige Lösung. :(

Sprache MYSQL....
 

Dimadon

Aktives Mitglied
Code:
Wenn ich es so mache:

INSERT INTO learnerTest (`msg`,`userId`,`documentId`,`affiliation`,) VALUES (test,10,12,true)
  ON DUPLICATE KEY UPDATE `rate`=`rate`+1;

Bekomme ich in meiner Testumgebung den Fehler:

3 Fehler wurden während der Analyse gefunden.

  1. Unerkanntes Schlüsselwort. (near "ON" at position 125)
  2. Unerkanntes Schlüsselwort. (near "DUPLICATE" at position 128)
  3. Unerkanntes Schlüsselwort. (near "KEY" at position 138)
Ich nutze PHP-MyAdmin local zum Test. Produktiv wird es auf Google Cloud SQL herauslaufen. Liegt es an meiner Testumgebung?
 

Thallius

Top Contributor
Ich sehe zumindest schon mal ein Komma das da nicht hingehört. Ob das das Problem ist kann ich aber jetzt hier auf der Couch nicht sagen :)

Weithin musst du auf den entsprechenden Feldern natürlich auch einen primary key setzen.
 

Dukel

Top Contributor
Hast du evtl. eine zu alte MySql Version?
Geht es mit einem normalen MySql Client und nicht via PhpMyadmin?
Hast du es mal mit einer ganz einfachen Test-Tabelle (z.B. mit nur zwei Spalten) versucht?
 

Dimadon

Aktives Mitglied
Also mit einer einfachen Tabelle und dem Statement:

Code:
INSERT INTO test (`text`,`zusatz`) VALUES ("test","test2")
  ON DUPLICATE KEY UPDATE `id`= 1+1;

Bekomme ich einen neuen Datensatz wenn die Id noch nicht bekannt ist.
 

Tobse

Top Contributor
Die ID updated man nicht, niemals.

Versuch mal
SQL:
INSERT INTO test (`text`,`zusatz`) VALUES ("test","test2") ON DUPLICATE KEY UPDATE text = text + ' updated'

Kann ich ON DUPLICATE KEY UPDATE auch mit einem AND erweitern und somit zwei Datensätze abfragen?
Hä? Das ist ein schreibender Befehl, wieso willst du was abfragen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T SQL-Statement Datenbank nach SQL Statement schließen? Datenbankprogrammierung 7
Kotelettklopfer SQLite Verhindern von doppelter Statement Ausführung Datenbankprogrammierung 25
L SQL-Statement SQL Statement doppelte Einträge finden Datenbankprogrammierung 9
C MySQL SQL Statement wir nicht ausgeführt Datenbankprogrammierung 11
G Datenbank Statement Datenbankprogrammierung 22
Dimax Erstellen ResultSet und Statement Datenbankprogrammierung 30
B MySQL Umkreissuche - brauche Hilfe bei SQL Statement Datenbankprogrammierung 12
M CSV Import - Dynamisches SQL Statement Datenbankprogrammierung 15
D Wiederverwendung / Recycling / Queuing von Statement Objekten Datenbankprogrammierung 1
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
F Dynamischen String in SQL Statement einbinden Datenbankprogrammierung 9
L SQL Statement mit Switch-Case funktioniert nicht Datenbankprogrammierung 6
U PostgreSQL SELECT Statement Datenbankprogrammierung 5
A Problem mit Create-Statement Datenbankprogrammierung 9
LadyMilka MySQL Syntaxfehler im Statement Datenbankprogrammierung 3
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
P sql statement alter table foreign key Datenbankprogrammierung 4
T sql Statement Datenbankprogrammierung 9
B JDBC MySQL Statement Datenbankprogrammierung 3
A Sql Statement - Alle Zahlen größer 9 Datenbankprogrammierung 3
F Sql Statement Datenbankprogrammierung 12
A SQL-Statement prüfen Datenbankprogrammierung 3
W Statement als Klassenvariable Datenbankprogrammierung 27
I Select-Statement optimieren Datenbankprogrammierung 14
D SQLite Statement nimmt keine Namen aus getter-Methoden Datenbankprogrammierung 11
alex_fairytail MySQL SQL Statement Delete zwischen Datum1 und Datum2 Datenbankprogrammierung 5
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
R Derby/JavaDB LIKE Statement mit Wildcard Datenbankprogrammierung 20
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
R Select Statement als temporärer Table Datenbankprogrammierung 7
R Derby/JavaDB Select Statement Where bedingung will nicht ganz! Datenbankprogrammierung 4
R Derby/JavaDB Select TOP Statement geht nicht Datenbankprogrammierung 3
S Null Pointer exception statement Datenbankprogrammierung 8
R Derby/JavaDB Insert Statement Probleme Datenbankprogrammierung 14
K statement.execute liefert false Datenbankprogrammierung 6
C PostgreSQL Prepared Statement Datenbankprogrammierung 7
N Prepared Statement mit unbekannter Anzahl von Where-Clauses Datenbankprogrammierung 30
S SQL Statement: executeUpdate Datenbankprogrammierung 15
F wie funktioniert if Statement in SELECT? Datenbankprogrammierung 2
T MySQL PreparedStatement mit INSERTs langsam, Batch-Statement auch Datenbankprogrammierung 4
M MySQL größere von zwei Zahlen in Update Statement Datenbankprogrammierung 2
J [Hibernate] Select Statement Datenbankprogrammierung 4
S HSQLDB DELETE-Statement funktioniert nicht Datenbankprogrammierung 4
L MySQL Prepared Statement batch langsamer als bulk insert? Datenbankprogrammierung 10
L MySQL Kann Statement nicht erzeugen Datenbankprogrammierung 5
T Komme mit dem SQL Statement nicht weiter Datenbankprogrammierung 5
D MySQL Client - Server: Client verabschiedet sich sobald ich Variablen im SQL Statement verwende Datenbankprogrammierung 9
F Frage zu Prepared Statement Datenbankprogrammierung 2
T java.sql.SQLException: unexpected end of statement Datenbankprogrammierung 2
J SQL-Statement Datenbankprogrammierung 10
U MSSQL Verbindung steht, aber meckert beim Statement Datenbankprogrammierung 2
S executeBatch result immet mit Statement.SUCCESS_NO_INFO Datenbankprogrammierung 4
G Frage zum Insert-Statement Datenbankprogrammierung 2
J JDBC- Statement Ausführung nicht persistent Datenbankprogrammierung 2
A Connection Variable in anderer Klasse verwenden -> statement Datenbankprogrammierung 2
D Problem: Prepared Statement (Insert) funktioniert nicht. Datenbankprogrammierung 3
G Mit Prepared Statement in MDB schreiben Datenbankprogrammierung 7
Z DELETE-Statement Datenbankprogrammierung 6
W Prepared Statement und Verbindungsverlust Datenbankprogrammierung 4
G INSERT-STATEMENT Datenbankprogrammierung 6
alexpetri hsql statement problem Datenbankprogrammierung 3
W invalid sql statement ? Datenbankprogrammierung 3
S Probleme mit statement.close() Datenbankprogrammierung 10
G Wie ein SQL-Statement zusammensetzen? Datenbankprogrammierung 5
T Select Statement auf Relation Datenbankprogrammierung 3
S Connection/Statement/ResultSet auf einmal geschlossen Datenbankprogrammierung 8
G MsSQL | Statement.execute(String s) Datenbankprogrammierung 3
W Prepared Statement mehrere Zeichenketten Datenbankprogrammierung 4
G Keine Aussicht mit Prepared Statement Datenbankprogrammierung 10
G Für jede SQL-Abfrage eigenes Statement und ResultSet? Datenbankprogrammierung 3
C Statement/Connection SQLWarning Datenbankprogrammierung 4
J sql-statement Datenbankprogrammierung 7
G Update Statement automatisch unterteilen lassen Datenbankprogrammierung 3
P Prepared Statement scheint nicht zu funktionieren Datenbankprogrammierung 14
T SQL-Statement parser? Datenbankprogrammierung 11
N Prepared Statement Datenbankprogrammierung 8
G Problem mit Suchen Statement Java und MS-SQL-Server Datenbankprogrammierung 9
J SELECT-Statement Datenbankprogrammierung 4
S Statement.getGeneratedKeys() funktioniert nicht Datenbankprogrammierung 4
G Problem mit Delete-Statement Datenbankprogrammierung 3
L mehrere Abfragen mit einem Statement!? Datenbankprogrammierung 5
E Problem mit create-Statement Datenbankprogrammierung 5
E SQL-Statement um eine Nummer in der Datenbank zu suchen Datenbankprogrammierung 3
Zrebna Empfehlung für ein kostenloses DB-Hosting gesucht Datenbankprogrammierung 6
P Datenbank Tool - besser als oracle SQL Developer gesucht mit effizinte Verbindungsverwaltung Datenbankprogrammierung 2
Streeber MySQL Funktion gesucht, die angibt, wie oft ein Wert auftritt Datenbankprogrammierung 1
Y MySQL Eclipselink Insert JSF Beispiel gesucht Datenbankprogrammierung 2
Z MySQL mysql Facharbeit: Tipps und Ideen gesucht Datenbankprogrammierung 5
T Hibernate DAO gute Tutorials/Bücher gesucht Datenbankprogrammierung 0
I MySQL Datenbank Tutorial gesucht Datenbankprogrammierung 2
S mySQL Manipulation über JavaServer Faces (Tutorial gesucht) Datenbankprogrammierung 10
I Anfänger-Tutorial für Hibernate gesucht Datenbankprogrammierung 3
Rudolf Serialisierungsspeicherort gesucht Datenbankprogrammierung 2
J Gesucht: Wörterbuch der verschiedenen SQL-Dialekte Datenbankprogrammierung 3
M Guter Link zum Thema ER-Modell und Relationships gesucht Datenbankprogrammierung 5
L MySql Befehlssatz gesucht. Datenbankprogrammierung 7
M elegante Lösung bei first gesucht Datenbankprogrammierung 3
G Datenbank gesucht. Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben