Ho una domanda come questa:SE riga esiste quindi eliminare fila in MySQL
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) THEN
DELETE FROM table2 WHERE col2 = ?
END IF
Ma io non so perché al di sopra di query non funziona. Anche questo non funziona anche:
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) BEGIN
DELETE FROM table2 WHERE col2 = ?
END
MySQL dire che c'è un errore di sintassi, Come posso risolvere il problema?
MySQL è (generalmente) non un linguaggio di programmazione procedurale; non puoi usare le dichiarazioni di 'IF' al di fuori di una procedura. La documentazione lo dice. Se dovessi effettivamente _read_ it, potresti anche trovare la risposta alla tua domanda. C'è qualche ragione per cui non sei riuscito a leggere la documentazione? –
Sì. Quindi sei praticamente bloccato a fare il 'SE' nella tua logica di applicazione. –
@LightnessRacesinOrbit in realtà ho visto [questa risposta] (http://stackoverflow.com/questions/639854/check-if-a-row-exists-otherwise-insert#639874) e ho pensato che forse è possibile usare "IF". in mysql! comunque ok grazie. – Shafizadeh