2015-12-20 4 views
0

Я просто хотел, чтобы перейти от sqlite3 с помощью MySQL, но я получаю ошибки в этом запросе:MySQL ошибка синтаксиса при использовании sqlite3 запроса

SELECT 
    metapp_notif.id, 
    name, 
    age, 
    place, 
    note, 
    metapp_notif.lat, 
    metapp_notif.longt, 
    haslatlong, 
    dati, 
    ntype, 
    grpm_id, 
    image, 
    send_id, 
    pro.latitude, 
    pro.longtitude, 
    metapp_notif.dati, 
    metapp_notif.activity 
FROM (metapp_notif 
     join (metapp_profil 
       join metapp_userlocation 
       ON metapp_profil.user_id = metapp_userlocation.user_id) AS pro 
      ON metapp_notif.send_id = pro.user_id) 
WHERE metapp_notif.rec_id =% d; 

Я получаю эту ошибку:

ERROR 1064 (42000): 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 'pro on metapp_notif.send_id=pro.user_id) where metapp_notif.rec_id=2' at line 1

I искал различия между sqlite3 и mysql, но не может понять, что не так.

Заранее благодарен!

+0

'где metapp_notif.rec_id =% d;' Попробуйте, что с ', где metapp_notif.rec_id как '% D'; '. Добавьте цитату и 'like' – MaxPD

ответ

0

Попробуйте этот синтаксис в Mysql

SELECT metapp_notif.id, 
     name, 
     age, 
     place, 
     note, 
     metapp_notif.lat, 
     metapp_notif.longt, 
     haslatlong, 
     dati, 
     ntype, 
     grpm_id, 
     image, 
     send_id, 
     latitude, 
     longtitude, 
     metapp_notif.dati, 
     metapp_notif.activity 
FROM metapp_profil 
     join metapp_notif 
     ON metapp_notif.send_id = metapp_profil.user_id 
     join metapp_userlocation 
     ON metapp_profil.user_id = metapp_userlocation.user_id 
WHERE metapp_notif.rec_id like '% d'; -- Not sure what you are trying to do here 
+0

им не уверен, как это работает сейчас. в каком порядке он вычисляется ... но работает без ошибок. извините за не указание, что% d вещь. это просто форматирование строки, а затем заменяется числом, начинающимся как параметр. –