python - 用Python查询

标签 python mysql sqlite

我正在使用 sqlite3 在 python 2.7 上构建数据库,并且遇到了一个小问题。

基本上我有两个表,每个表存储以下信息:

推文:

user_name, 
tweet_time, 
tweet_text

用户:

user_name, 
user_description, 
user_followers, 
user_verified, 
user_location

我正在尝试添加一个函数,提示用户输入字符串,并且两个表中包含提交的字符串(可在 tweet_text 列中找到)的每一行都将被删除。

我遇到的问题是“用户”表不包含 tweet_text 列,因此我不确定如何删除该表中的相应行,而无需实际添加 tweet_text 列。

到目前为止,我所拥有的只是“Tweet”表上的一个简单的删除查询。

delete_string = raw_input("Which string would you like to be removed from your database?: ")
c.execute("DELETE FROM Tweet WHERE tweet_text LIKE ?", ('%'+delete_string+'%',))

我想知道是否有任何方法可以删除“用户”表中的相应行,而不必显式包含 tweet_text 作为列。

我对 python 相对缺乏经验,这是我第一次使用查询编写,因此我们将不胜感激任何帮助!

提前致谢。

最佳答案

我只是从我的脑海里写下这个,但尝试这个查询:

DELETE tweet, user 
FROM Tweet tweet JOIN User user ON tweet.user_name = user.user_name
WHERE tweet.tweet_text LIKE ?;

尽管您正在寻找的是 this删除级联。 这会自动从外键表中删除它,该表将是您的 User 表。

确保在 SQLite 中启用外键支持

PRAGMA foreign_keys = ON;

关于python - 用Python查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998417/

相关文章:

python - 了解 scikit 神经网络参数

Python - 在进行多重赋值时对元组的某些元素进行操作?

c# - 如何在 C# 中实现 ORM

android - ListView 复选框保存状态

javascript - 尝试打开事务时使用react-native-sqlite-storage停止

python - 如果选择全部并按下删除或退格按钮,则条目 Tkinter 不允许删除数据

python - 组和 channel 层使流程停止而不会引发异常

mysql - cron作业仅备份选定的表而不是mysql中的整个数据库

mysql - 在 NodeJS 中的准备查询中设置多个字段

c# - 内存数据库中的 SqlLite : CREATE TABLE does not work?