Jump to content

Recommended Posts

When I have a MySQL field that is a result of two or more others (it is sometimes a good idea to store such value as well even if it is redundant data) I usually do the math in the same sql sentence like this:

 

UPDATE tbl SET f1 = f1 + 1, f2 = f2 + 7, f3 = f2 * f1/3 WHERE blabla

 

This has seemed to work so far but I can't help but wonder if this code is secure or is there a risk of a faulty f3 value?

What I am thinking is this:

 

1. The operations f1 + 1, f2 = f2 + 7 will have to be done first.

 

2. f3 will then have to be calculated using the two first fields.

 

The question is really this one:

 

Is this particular row locked while doing all three operations and will the last one always be done last in a query?

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.