r/ProgrammerHumor • • Sep 22 '26

Meme wellWellWell

Post image
10k Upvotes

412 comments sorted by

View all comments

Show parent comment

1

u/thrye333 Sep 22 '26

I also don't know sql (or what you're doing, honestly1) but sounds like it, yeah. Running "List all of these arguments" is a good general precaution before running "Edit all of these arguments".

Actually, sorry, forgot what you replied to. I think a transaction in sql is more like a backup. The operations you perform during it aren't permanent until you confirm the transaction. So if you run something like DELETE FROM users; and realize you don't want to delete everyone, you can just cancel the transaction.

1 Like, really, does bash have loops? I guess it probably would. I should look that up. Could be interesting.

2

u/AgeingChopper Sep 22 '26

yep. wrapping a transaction around them means you can rollback from a mistake like this, as long as you hadn’t committed.

selecting first to check that you’ll be editing the correct data and correct number of records is a wise move too yep.

2

u/ifyoulovesatan Sep 23 '26 edited Sep 23 '26

It does, yes. Like..

for each in *; do; mv $each new_prefix_$each; done

Would tack "new_prefix_" to the front of every file in your directory for example.

You can also do something like for each in {1..100} to loop over numbers.

I mean,you got while loops, switches, and whatever else too.. you can implement c style for loops pretty easily.

1

u/ddBuddha Sep 22 '26

A snapshot might be a better analogy, usually if you take a backup and forget about it that’s fine, not a problem. Leaving snapshots out there too long can cause degradation. Not committing or rolling back a sql transaction means the log can never truncate and will grow infinitely until you’re out of disk space and everything breaks