insert_sql = "INSERT INTO user(name, id, password) VALUES ('%s', '%d', '%s')" % (name, id, pwd) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ TypeError: %d format: a real number is required, not str为什么报这个错,应该怎么改
时间: 2023-07-07 20:44:29 浏览: 74
insert_sql.sql
这个错误是因为在格式化字符串时,使用了 %d 格式化指令,但是传入的并不是实数而是字符串,所以会报错。要解决这个问题,可以将传入的 id 转为整数,例如:
```
insert_sql = "INSERT INTO user(name, id, password) VALUES ('%s', %d, '%s')" % (name, int(id), pwd)
```
这样就可以将 id 转为整数,避免了报错。另外,为了避免 SQL 注入等安全问题,建议使用参数化查询或者 ORM 框架等方式进行数据库操作。
阅读全文