J'ai lu cette requête maintenant pendant environ 20 minutes et je ne vois pas ce qui ne va pas.Erreur MySQL, raison inconnue
SELECT SQL_CALC_FOUND_ROWS addressbook_people.first_name,
addressbook_people.last_name ,
addressbook_people.preferred_name ,
addressbook_companies3.name ,
addressbook_people.url ,
addressbook_groups5.name ,
addressbook_people.telephone1 ,
addressbook_people.telephone2 ,
addressbook_people.telephone3 ,
addressbook_people.email1 ,
addressbook_people.email2 ,
addressbook_people.fax1 ,
addressbook_people.fax2 ,
root_countries13.name ,
root_territories14.name ,
root_cities15.name ,
addressbook_people.address1 ,
addressbook_people.zip_postal1 ,
addressbook_people.po_box ,
root_countries19.name ,
root_territories20.name ,
root_cities21.name ,
addressbook_people.address2 ,
addressbook_people.zip_postal2
FROM addressbook_people
WHERE (
(
addressbook_people.first_name LIKE '%a%'
OR addressbook_people.last_name LIKE '%a%'
OR addressbook_people.preferred_name LIKE '%a%'
OR addressbook_companies3.name LIKE '%a%'
OR addressbook_people.url LIKE '%a%'
OR addressbook_groups5.name LIKE '%a%'
OR addressbook_people.telephone1 LIKE '%a%'
OR addressbook_people.telephone2 LIKE '%a%'
OR addressbook_people.telephone3 LIKE '%a%'
OR addressbook_people.email1 LIKE '%a%'
OR addressbook_people.email2 LIKE '%a%'
OR addressbook_people.fax1 LIKE '%a%'
OR addressbook_people.fax2 LIKE '%a%'
OR root_countries13.name LIKE '%a%'
OR root_territories14.name LIKE '%a%'
OR root_cities15.name LIKE '%a%'
OR addressbook_people.address1 LIKE '%a%'
OR addressbook_people.zip_postal1 LIKE '%a%'
OR addressbook_people.po_box LIKE '%a%'
OR root_countries19.name LIKE '%a%'
OR root_territories20.name LIKE '%a%'
OR root_cities21.name LIKE '%a%'
OR addressbook_people.address2 LIKE '%a%'
OR addressbook_people.zip_postal2 LIKE '%a%'
)
)
LEFT JOIN addressbook_companies AS addressbook_companies3
ON addressbook_people.company_id = addressbook_companies3.id
LEFT JOIN addressbook_groups AS addressbook_groups5
ON addressbook_people.group_id = addressbook_groups5.id
LEFT JOIN root_countries AS root_countries13
ON addressbook_people.country1 = root_countries13.id
LEFT JOIN root_territories AS root_territories14
ON addressbook_people.territory1 = root_territories14.id
LEFT JOIN root_cities AS root_cities15
ON addressbook_people.city1 = root_cities15.id
LEFT JOIN root_countries AS root_countries19
ON addressbook_people.country2 = root_countries19.id
LEFT JOIN root_territories AS root_territories20
ON addressbook_people.territory2 = root_territories20.id
LEFT JOIN root_cities AS root_cities21
ON addressbook_people.city2 = root_cities21.id
ORDER BY LTRIM(addressbook_people.url)DESC
LIMIT 0, 10
Ceci est la sortie de mon filtre pour une table de données. Donc, ne pas tenir compte du fait que je cherche comme « a »
J'utilise PHPMyAdmin, lors de l'exécution du SQL dans une requête via la console de gestion Web je reçois l'erreur suivante
1064 - Vous avez un erreur dans votre syntaxe SQL; consultez le manuel qui
correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près « LEFT JOIN addressbook_companies AS addressbook_companies3 SUR adr » à la ligne 54
J'ai vérifié la ligne, c'est la début de mes jointures. Je ne vois pas de problème .. Quelqu'un peut-il aider s'il vous plaît? Je n'ai jamais été bon avec SQL.
Il n'y a pas une limite peut-être la longueur de la requête dans la console de gestion Web, est-il? C'est une question assez longue. –
je voudrais voir combien de temps cette requête devra être exécutée sur la table avec 1.000.000 lignes, ce qui n'est pas beaucoup :) – mkk
c'est en fait pas si mal. À l'heure actuelle, j'ai 6000 lignes et il s'exécute en une fraction de seconde. Cela fait partie du filtrage des résultats ajax. Je vois très peu de retard, si court que je ne l'ai pas testé. – rlemon