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 Quote 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. Quote 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. Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.