"UPDATE table_name SET w = $1, x = $2, z = $4 WHERE y = $3 RETURNING *",

does not do the same as

"UPDATE table_name SET w = $1, x = $2, y = $3, z = $4 RETURNING *",

It’s 2 am and my mind blanked out the WHERE, and just wanted the numbers neatly in order of 1234.

idiot.

FML.

0 points

This doesn’t help you but may help others. I always run my updates and deletes as selects first, validate the results are what I want including their number and then change the select to delete, update, whatever

permalink
report
reply
0 points

You all run queries against production from your local? Insanity.

permalink
report
reply
0 points

Everyone has a production system. Some may even have a separate testing environment!

permalink
report
parent
reply
0 points
*

This is a hard lesson to learn. From now on, my guess is you will have dozens of backups.

permalink
report
reply
0 points

And always use a transaction so you’re required to commit to make it permanent. See an unexpected result? Rollback.

permalink
report
parent
reply
0 points

Transactions aren’t backups. You can just as easily commit before fully realizing it. Backups, backups, backups.

permalink
report
parent
reply
0 points

Yes, but

  1. Begin transaction
  2. Update table set x=‘oopsie’
  3. Sees 42096 rows affected
  4. Rollback

Can prevent a restore, whereas doing the update with auto commit guarantees a restore on (mostly) every error you make

permalink
report
parent
reply
0 points
*

this folks, is why you don’t raw dog sql like some caveman

permalink
report
reply
0 points

Raw dog is the fastest way to finish a task.

  • productivity
  • risk

It’s a trade-off

permalink
report
parent
reply
0 points

There’s no way you’re endorsing the way OP handled their data right?

permalink
report
parent
reply
0 points
*

No, but people are sometimes forced to do these things because of pressure from management and/or lack of infrastructure to do it in any other way.

Definitely don’t endorse it but I have done it. Think of a “Everything is down” situation that can be fixed in 1 minute with SQL.

permalink
report
parent
reply
0 points

I don’t know if it makes you feel better but Tom Scott had a similar experience: https://youtu.be/X6NJkWbM1xk

permalink
report
reply

Programming

!programming@programming.dev

Create post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



Community stats

  • 3.1K

    Monthly active users

  • 893

    Posts

  • 7.7K

    Comments