在SQLite 3中删除行并引用另一个表中的行

纳夫图利凯

我正在使用SQLite玩耍并了解更多SQL。我有一个这样填充的SQLite 3数据库:

create table playlist (id integer primary key autoincrement, name text);

create table playlistitem (id integer primary key autoincrement, 
    playlist_id integer, name text);

insert into playlist (name) values ("Moss");
insert into playlist (name) values ("Jen");

insert into playlistitem (playlist_id, name) values (1, "Roy");
insert into playlistitem (playlist_id, name) values (1, "Richmond");
insert into playlistitem (playlist_id, name) values (2, "Denholm");

太好了,现在播放列表中有两个播放列表项"Moss""Roy"并且"Richmond"; 我的"Jen"播放列表中有一项"Denholm"

我想做的就是"Moss"用一个查询删除播放列表及其所有项目。

我看到这样的事情,对我来说失败了:

delete playlist, playlistitem from playlist
    inner join playlistitem on playlistitem.playlist_id = playlist.id
    where playlist.name = "Moss";

失败:

Error: near "playlist": syntax error

我究竟做错了什么?

海藻

SQLite不支持joindelete说法。您必须使用基于的第二个表中进行删除的单独查询,对playlist_id进行删除触发playlist,或者使用以下命令使该引用成为外键on delete cascade

create table playlistitem (
    id integer primary key autoincrement,
    playlist_id integer, name text,
    foreign key(playlist_id) references playlist(id) on delete cascade);

然后使用delete from playlist where name='Moss'

不要忘记启用外键- pragma foreign_keys=1(您必须在每个sqlite连接上重新启用它,例如,连接后作为第一个命令)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQLite:从另一个表中指定的表中删除所有记录

来自分类Dev

SQLite:从另一个表中指定的表中删除所有记录

来自分类Dev

使用Web2py / Python引用SQLite中的另一个表

来自分类Dev

加入两个视图,并检测匹配条件在另一个视图/表的下一行中的缺少项(使用SQLITE)

来自分类Dev

从sqlite表中删除一行

来自分类Dev

删除Sqlite表中的行

来自分类Dev

根据另一个表中的数据更新SQLite表

来自分类Dev

根据sqLite中的另一个表值更新表

来自分类Dev

SQLite3:删除共享列值并且在另一列中具有一个或多个空值的所有行

来自分类Dev

当绑定发生在另一个函数中时,SQLite找不到行_only_

来自分类Dev

SQLite-根据另一个表的列中的值更新列

来自分类Dev

SQLITE:如何根据另一个表中的不同列选择列值

来自分类Dev

SQLite无法更新另一个表中的数据

来自分类Dev

SQLite查询选择另一个表中不存在的所有记录

来自分类Dev

从SQLite中的另一个表更新单个指定值

来自分类Dev

如何使用Python从sqlite中的另一个数据库导入表?

来自分类Dev

无法在android studio的sqlite数据库中添加另一个表

来自分类Dev

Sqlite:从具有多个条件的另一个表中的多个列更新

来自分类Dev

如何从 SQLite 中的一个表中获取所有父行和子行?

来自分类Dev

来自另一个表的完整SQLite表

来自分类Dev

在SQLite中的一个查询中访问和删除行

来自分类Dev

SQLite从3联接表中删除所有连接的行

来自分类Dev

SQL(sqlite)比较按另一个重复行分组的行总和

来自分类Dev

如果在另一个表中引用了行,则防止软删除

来自分类Dev

SQLite:从另一个表更新列

来自分类Dev

触发从另一个表中删除行

来自分类Dev

SQLite-如何从另一个值中减去一个值

来自分类Dev

在C ++中创建一个sqlite3表

来自分类Dev

Python SQLite3在删除另一个条目时更新主键

Related 相关文章

  1. 1

    SQLite:从另一个表中指定的表中删除所有记录

  2. 2

    SQLite:从另一个表中指定的表中删除所有记录

  3. 3

    使用Web2py / Python引用SQLite中的另一个表

  4. 4

    加入两个视图,并检测匹配条件在另一个视图/表的下一行中的缺少项(使用SQLITE)

  5. 5

    从sqlite表中删除一行

  6. 6

    删除Sqlite表中的行

  7. 7

    根据另一个表中的数据更新SQLite表

  8. 8

    根据sqLite中的另一个表值更新表

  9. 9

    SQLite3:删除共享列值并且在另一列中具有一个或多个空值的所有行

  10. 10

    当绑定发生在另一个函数中时,SQLite找不到行_only_

  11. 11

    SQLite-根据另一个表的列中的值更新列

  12. 12

    SQLITE:如何根据另一个表中的不同列选择列值

  13. 13

    SQLite无法更新另一个表中的数据

  14. 14

    SQLite查询选择另一个表中不存在的所有记录

  15. 15

    从SQLite中的另一个表更新单个指定值

  16. 16

    如何使用Python从sqlite中的另一个数据库导入表?

  17. 17

    无法在android studio的sqlite数据库中添加另一个表

  18. 18

    Sqlite:从具有多个条件的另一个表中的多个列更新

  19. 19

    如何从 SQLite 中的一个表中获取所有父行和子行?

  20. 20

    来自另一个表的完整SQLite表

  21. 21

    在SQLite中的一个查询中访问和删除行

  22. 22

    SQLite从3联接表中删除所有连接的行

  23. 23

    SQL(sqlite)比较按另一个重复行分组的行总和

  24. 24

    如果在另一个表中引用了行,则防止软删除

  25. 25

    SQLite:从另一个表更新列

  26. 26

    触发从另一个表中删除行

  27. 27

    SQLite-如何从另一个值中减去一个值

  28. 28

    在C ++中创建一个sqlite3表

  29. 29

    Python SQLite3在删除另一个条目时更新主键

热门标签

归档