[Python-Dev] Bug in the DELETE statement in sqlite3 module
Paul Moore
p.f.moore at gmail.com
Wed Jun 15 11:29:43 EDT 2016
More information about the Python-Dev mailing list
Wed Jun 15 11:29:43 EDT 2016
- Previous message (by thread): [Python-Dev] Bug in the DELETE statement in sqlite3 module
- Next message (by thread): [Python-Dev] Bug in the DELETE statement in sqlite3 module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 15 June 2016 at 07:40, ninostephen mathew <ninosm12 at gmail.com> wrote: > Respected Developer(s), > while writing a database module for one of my applications in python I > encountered something interesting. I had a username and password field in my > table and only one entry which was "Admin" and "password". While debugging > I purposefully deleted that record. Then I ran the same statement again. To > my surprise, it got execute. Then I ran the statement to delete the user > "admin" (lowercase 'a') which does not exist in the table. Surprisingly > again is got executed even though the table was empty. What I expected was > an error popping up. But nothing happened. I hope this error gets fixed > soon. The code snippet is given below. > > self.cursor.execute(''' DELETE FROM Users WHERE username = > ?''',(self.username,)) First of all, this list is for the discussions about the development of Python itself, not for developing applications with Python. You should probably be posting to python-list instead. Having said that, this is how SQL works - a DELETE statement selects all records matching the WHERE clause and deletes them. If the WHERE clause doesn't match anything, nothing gets deleted. So your code is working exactly as I would expect. Paul
- Previous message (by thread): [Python-Dev] Bug in the DELETE statement in sqlite3 module
- Next message (by thread): [Python-Dev] Bug in the DELETE statement in sqlite3 module
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list