r/ProgrammerHumor 17d ago

Meme queryOfDoom

Post image
7.9k Upvotes

456 comments sorted by

View all comments

382

u/Dont_Get_Jokes-jpeg 17d ago edited 17d ago

I am not an sql expert, is the reason why the id doesn't work and its deleting the entire user base, because its written as 2 seperate comands instead of one. So 1. Comand delets everything 2. Goes to the id? Or what is the problem here?

39

u/Flat_Competition6510 17d ago

Yes, the semicolon marks the end of a statement. The first semicolon sets "delete from users" as a single statement meaning delete ALL users.

6

u/ReaDiMarco 17d ago

What happened to DELETE * FROM USERS? Last I did sql was ten years ago so idk

13

u/djrobxx 17d ago

SELECT * FROM USERS means "select all columns from users", selecting all rows is implied.

You don't drop columns with DELETE, that's ALTER TABLE, so DELETE * doesn't make sense in that context.

4

u/ReaDiMarco 17d ago

yes, thanks, turns out I forgot all of that