if newstitle and newtitle: # 修改前后的数据都存在则为真 with Mmysql(database='personalwebsite') as db: sql = 'update adminnews set newstitle = newtitle where newstitle = newstitle' db.sql(sql, newstitle)
时间: 2024-02-14 14:14:03 浏览: 132
mysql 存在该记录则更新,不存在则插入记录的sql
在你的 SQL 语句中,`newstitle` 和 `newtitle` 都没有被正确地替换为相应的参数,所以在执行 SQL 语句时会报错。你可以使用占位符 `%s` 来表示参数,然后在执行 SQL 语句时传入参数。下面是修改后的代码:
```python
if newstitle and newtitle: # 修改前后的数据都存在则为真
with Mmysql(database='personalwebsite') as db:
sql = 'update adminnews set newstitle = %s where newstitle = %s'
db.sql(sql, (newtitle, newstitle))
```
在这个修改后的代码中,第一个 `%s` 表示要更新成的新标题,第二个 `%s` 表示要被更新的旧标题。在执行 SQL 语句时,我们将这两个参数传递给了 `db.sql` 方法的第二个参数,以元组的形式传递。
阅读全文