2017-04-03 1 views
1

I Spalte zu löschen versuchen und ich halte die folgende Fehlermeldung erhalten:C# & MySQL: Löschen Exists

MySql.Data.MySqlClient.MySqlException: Sie haben einen Fehler in der SQL-Syntax; Sie in die Bedienungsanleitung zu Ihrer MariaDB Server-Version für die richtige Syntax entspricht in der Nähe zu verwenden 'exists (DELETE 1 FROM stock WHERE steamId =' MyIDGoesHere UND stock =' at line 1

Mein Code:

command.CommandText = "DELETE EXISTS(DELETE 1 FROM `" + Main.Instance.Configuration.Instance.DatabaseTableName + "` WHERE `steamId` = '" + id + "' AND `stock` = '" + stock + "' LIMIT 1);"; 

Bitte helfen Sie mir, diesen Fall zu befestigen. Danke!

+0

Gibt es einen Grund, dass Sie nur den ersten Datensatz löschen? – dana

+0

@dana Es gibt nur einen Datensatz. Aber ja. –

+0

Aber wäre es in Ordnung, alle Datensätze zu löschen, die die Kriterien erfüllen? Wenn nicht, was bestimmt den zu löschenden Opferdatensatz? – dana

Antwort

0

Dies ist, wie Sie über das Löschen der ersten Datensatz gehen würde, die Ihren Kriterien erfüllt werden. wie andere erwähnt haben, ist es am besten Parameter zu verwenden, die ich auch getan haben :

command.CommandText = "DELETE FROM `" + Main.Instance.Configuration.Instance.DatabaseTableName + "` WHERE `steamId` = @SteamId AND `stock` = @Stock LIMIT 1;"; 
command.Parameters.AddWithValue("@SteamId", steamId); 
command.Parameters.AddWithValue("@Stock", stock); 
+1

Wird jetzt versuchen! –

+1

Vielen Dank, funktioniert! –