从 SQLite 表中删除

yra*_*lik 2 sql database sqlite relational-database

我正在运行以下命令从 SQLite 的表中删除一个元组,但出现错误

DELETE FROM Students S where S.name="Smith"
Run Code Online (Sandbox Code Playgroud)

我确定有一个名为 Smith 的条目,我确定有一个名为“name”的列。这是错误消息:

SQLiteManager: Likely SQL syntax error: delete from Students S where S.name="Smith"
[ near "S": syntax error ] Exception Name: NS_ERROR_FAILURE Exception Message: 
Component returned failure code: 0x80004005 (NS_ERROR_FAILURE)                     
[mozIStorageConnection.createStatement]
Run Code Online (Sandbox Code Playgroud)

我认为这是关于重命名表格:“Students S”,但我找不到解决方案。任何人都可以帮忙吗?谢谢

das*_*ght 5

在 SQL 中,您使用单引号而不是双引号分隔字符串。此外,您不会像您那样在DELETE语句中为表设置别名:

DELETE FROM Students where name='Smith'
Run Code Online (Sandbox Code Playgroud)

如果您必须使用别名,则此语法应该有效:

DELETE s from Students s WHERE s.name='Smith'
Run Code Online (Sandbox Code Playgroud)