English 中文(简体)
mySQL - Apply a row level lock using mysqli
原标题:

Using PHP s mysqli how do you apply a row level lock?

Row level locks stop anyone editing currently present rows that match your criteria right? but do they stop a user inserting a row which matches your criteria?

Thanks

最佳回答

if you want to lock a specific row from editing, use FOR UPDATE at the end of a SELECT query. this locks the row in your transaction and prevents other users from updating it. this only works in transactional storage engines like innodb.

in answer to your questions, yes, row level locks "stop anyone editing currently present rows that match your criteria". more specifically, if (inside a transaction) you INSERT, UPDATE or DELETE a row, that row is locked from editing by anyone else until your COMMIT your transaction. if you SELECT a row using FOR UPDATE then that also locks the row.

however, this does not "stop a user inserting a row which matches your criteria".

问题回答

What is it you re trying to achieve? The InnoDB engine uses row level locking but this is an automatic internal MySQL process.





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签