![]() |
| ||
| Converting queries from MySQL 4 to MySQL 5 OK .. I was migrating an application from a staging server where the MySQL version is 4.1.10a to a live server where the MySQL version is 5.0.45. There apparently is quite a difference between query syntax on one versus the other. For example, in version 4, this worked: SELECT uas.usr_id_users, uas.airport_id_airport, a.airport_code, a.airport_name, a.airport_id, MAX(if(service_id_service=1, 1, 0)) AS JET, MAX(if(service_id_service=2, 1, 0)) AS GROUND, MAX(if(service_id_service=3, 1, 0)) AS GLYCOL, u.usr_fname AS FIRSTNAME, u.usr_lname AS LASTNAME, u.usr_email AS EMAIL However, on version 5 it does not. Here is what I had to do to make it work: SELECT uas.usr_id_users, uas.airport_id_airport, a.airport_code, a.airport_name, a.airport_id, MAX( if( service_id_service =1, 1, 0 ) ) AS JET, MAX( if( service_id_service =2, 1, 0 ) ) AS GROUND, MAX( if( service_id_service =3, 1, 0 ) ) AS GLYCOL, u.usr_fname AS FIRSTNAME, u.usr_lname AS LASTNAME, u.usr_email AS EMAIL As an example, here is another query I had that did not work in VER: 5: SELECT usr_id, usr_access, usr_title, usr_fname, usr_lname, usr_email, access.access, title.title But, it was suggested by dickersonka to try the following, which worked: SELECT u.usr_id, u.usr_access, u.usr_title, u.usr_fname, u.usr_lname, u.usr_email, a.access, t.title So I post this here not to ask for help, which I have received plenty of here, but in the hopes this helps someone else who runs into this issue. Cheers, Dave |
| ||
| Re: Converting queries from MySQL 4 to MySQL 5 here i found an article on the suggestion i gave you earlier its because order of precedence, also always try to do joins this way, makes much cleaner code http://damonparker.org/blog/2006/02/...yntax-changes/ |
| ||
| Re: Converting queries from MySQL 4 to MySQL 5 Cheers ... I had a quick glance at this and the scarey thing is, for the most part, I understood it. Not perfectly clear but certainly not overly cloudy either. Dave |
| ||
| Re: Converting queries from MySQL 4 to MySQL 5 lol easiest way to explain it is be specific from table1, table2 join table3 on id = table3.id who knows what that means now this from table1 inner join table2 on table1.id = table2.id looks much clearer at least to me |
| All times are GMT -4. The time now is 5:42 pm. |
Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC