2017-10-16 14 views
0

J'écris un programme PHP et je veux implémenter le verrouillage au niveau des lignes pour éviter la mise à jour/suppression simultanée de l'utilisateur pour le même enregistrement.MySQL phpmyadmin - SELECT FOR UPDATE non reconnu

Mais j'ai frappé l'erreur "Mot-clé non reconnu" lors de l'utilisation de SELECT FOR UPDATE. Le type de table est innoDB.

Ai-je manqué une installation pour ma base de données?

My SQL statement

SELECT * FROM companyTable 
WHERE companyId = "0000001" 
FOR UPDATE; 

SQL Error

Erreur
Analyse statique:

1 erreurs ont été trouvées lors de l'analyse.

Mot-clé non reconnu. (Près de "FOR" à la position 57)
requête SQL: Documentation

SELECT * FROM companyTable WHERE companyId = "0000001" FOR LIMIT 0, 30 

MySQL dit: Documentation

#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 'LIMIT 0, 30' at line 3 
+0

ce qui est 'FOR' ?? –

+0

SELECT [...] FOR UPDATE est la syntaxe de base de données Oracle et non la syntaxe MySQL. –

Répondre

0

Il y a une erreur de syntaxe Essayez ceci:

Son Sélectionner tous les enregistrements De 1 - 30

SELECT * FROM companyTable WHERE companyId = "0000001" ORDER BY id LIMIT 30; 
+0

J'essaie d'utiliser l'instruction SELECT FOR UPDATE qui verrouille un enregistrement/empêche l'autre utilisateur d'effectuer une action UPDATE/DELETE. –