apot Posted December 16, 2010 Share Posted December 16, 2010 I am trying to run this SQL statement in a PHP script and have also tried it in phpMySQL and both give the error. The statement is: IF (EXISTS (SELECT id FROM allotment WHERE date='2010-12-16' AND catid=57)) begin UPDATE allotment SET allot=allot+1, status='R' WHERE date='2010-12-16' AND catid=57 end else begin INSERT INTO allotment (catid, date, allot, status) VALUES (57, '2010-12-16', '1', 'R') end The error it throws is: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (EXISTS (SELECT id FROM allotment WHERE date='2010-12-16' AND catid=57)) be' at line 1 This is the first time I have user IF else statements in SQL so I may be doing something stupid. Any help is appreciated Link to comment https://forums.phpfreaks.com/topic/221884-sql-statement-giving-error-help/ Share on other sites More sharing options...
Adam Posted December 16, 2010 Share Posted December 16, 2010 MySQL doesn't support anonymous blocks. Link to comment https://forums.phpfreaks.com/topic/221884-sql-statement-giving-error-help/#findComment-1148226 Share on other sites More sharing options...
Adam Posted December 16, 2010 Share Posted December 16, 2010 Just to expand on that a bit, you could accomplish what you want by using a procedure. Link to comment https://forums.phpfreaks.com/topic/221884-sql-statement-giving-error-help/#findComment-1148231 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.