我昨天问了一个关于元组的问题: adding the same variable to a list of tuples
@alecxe完美地回答了这个问题,但现在的问题是(PostgreSQL),当我试图在postgres中存储数据时,我收到了以下错误:
TypeError: not all arguments converted during string formatting
我尝试的是:
country = (countries[i], )
user_info = [tuple((t,)) + country for t in zip(name, age, city)]
query = "INSERT INTO users_info (name, age, city, country) VALUES %s"
cur.executemany(query, user_info)
con.commit()
然后我收到了错误,我也尝试了以下方法:
user_info = [tuple((t,)) + country for t in zip(name, age, city, country)]
又犯了同样的错误,然后我尝试了别的方法:
user_info = [tuple((t,)) for t in zip(name, age, city, country)]
我答对了,但是有一个问题(最后一列country)将所有国家存储为unique,即使在创建数据库时我没有将列指定为unique:
数据库结果:
name | age | city | country
-----+-----+-------+---------------
a | 1 | aaa | United States
d | 4 | ddd | UK
e | 5 | eee | Canada
正在创建数据库:
cur.execute("CREATE TABLE IF NOT EXISTS users_info (name VARCHAR(255) NOT NULL, age INT, city VARCHAR(255), country TEXT NOT NULL)")
我希望所有的用户都出现,即使他们来自同一个国家。。你知道吗
表中有四个字段,因此SQL语句中需要四个占位符:
相关问题 更多 >
编程相关推荐