Python 从数据库中的其他表更新SQLite3
我在过去也提出过同样的问题,但是,我在python代码中实现它时似乎失败了 目标是使用表公司中已有的信息更新表发货。图片供参考 我有以下代码:Python 从数据库中的其他表更新SQLite3,python,sqlite,Python,Sqlite,我在过去也提出过同样的问题,但是,我在python代码中实现它时似乎失败了 目标是使用表公司中已有的信息更新表发货。图片供参考 我有以下代码: import sqlite3 # connect to database conn = sqlite3.connect('PSC.sdb') # create cursor c = conn.cursor() c.execute(''' UPDATE ships SET "ISM Performance PM" =
import sqlite3
# connect to database
conn = sqlite3.connect('PSC.sdb')
# create cursor
c = conn.cursor()
c.execute('''
UPDATE ships
SET "ISM Performance PM" = (SELECT companies."ISM Performance PM"
FROM companies
WHERE ships."ISM IMO" = companies."ISM IMO")''')
conn.commit()
conn.close()
当我运行它时,我没有任何错误,但一直有空值。
很抱歉重新发布,但确实需要一些帮助。从您发布的示例数据中,我看到以下情况:
WHERE ships."ISM IMO" = companies."ISM IMO"
应成功并正确更新表。但您可以尝试在比较之前修剪值:
WHERE TRIM(ships."ISM IMO") = TRIM(companies."ISM IMO")
或将其转换为整数:
WHERE (ships."ISM IMO" + 0) = (companies."ISM IMO" + 0)
这样就可以删除任何现有的空白字符,并可以比较这些数字。
HUUGE noob错误。你的回答让我去检查两个表中的数据类型。一个是文本,另一个是整数。不能那样工作!谢谢你的帮助@forpas!