2017-10-16 13 views
0

PHP 프로그램을 작성 중이며 동일한 레코드에 대한 동시 사용자 업데이트/삭제를 피하기 위해 행 수준 잠금을 구현하고 싶습니다.MySQL phpmyadmin - SELECT FOR UPDATE가 인식되지 않습니다.

하지만 SELECT FOR UPDATE를 사용할 때 "Unrecognized keyword"오류가 발생했습니다. 테이블 타입은 innoDB입니다.

내 데이터베이스에 대한 설정이 누락 되었습니까?

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

My SQL statement

SQL Error

오류
정적 분석 :

1 오류가 분석 중에 발견되었다.

키워드를 인식 할 수 없습니다. ("FOR"근처에 위치 57)
SQL 쿼리 : 문서

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

MySQL은 말했다 : 문서

#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

무엇입니까? –

+0

SELECT [...] FOR UPDATE는 MySQL 구문이 아닌 Oracle 데이터베이스 구문입니다. –

답변

0

구문 오류가이가 시도된다

모든 레코드 선택 1 - 30부터

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

레코드를 잠그고 다른 사용자가 UPDATE/DELETE 작업을 수행하지 못하도록 SELECT FOR UPDATE 문을 사용하려고합니다. –