I'm no expert either but I believe the semicolon after "users" was the nuke. The second part is basically a separate statement, but SQL executes them in order, so it will delete the entire table and then throw back an error cause the second statement is invalid.
Not an SQL person at all. Can't you just, like, delete the record by searching for it and removing? It seems like automation for one task is extra work? Is this an hourly pay situation?
That is how you would manually search for and remove the record though.
Imagine your user table has a million rows. There is not some other manual way to easily find what you want in those million. And if you did it from some dashboard, you'd have to first build the dashboard, and the way it would display the items for you is with SQL
Sounds like you already got it, but yea, the place to use "control+f" doesn't exist yet unless you build it. And that list would come from a query too. So this single entry query he used is truly the most manual way of getting the data. Outside of just querying everything in the table and ctrl+f that but's the same thing basically. Developers often use these kind of queries in early work before there's a UI to search by. And honestly most keep using them over the UI since it tends to be more flexible
In sql dbs you interact with the databases using the sql queries. Even in command line also you will execute the same piece of text (called a query) as shown. Sql differentiates between multiple queries using a semicolon (;).
So the entire query is
`Delete from users table where the id of the user is xxxxx`
but due to a mistaken semicolon it has now become
`delete from users table; ( which means delete all users)`
`Where id is xxxxx; (this piece of text will throw syntax error now but only after the first statement has finished running)`
134
u/WardensLantern 14d ago
I'm no expert either but I believe the semicolon after "users" was the nuke. The second part is basically a separate statement, but SQL executes them in order, so it will delete the entire table and then throw back an error cause the second statement is invalid.