我是SQLite数据库的新手,所以我无法确定问题是什么,我愿意为世界各地的汽车及其费率列表创建一个数据库。
import sqlite3
db = sqlite3.connect('Car.db')
cur= db.cursor()
var = (int)(input("How many cars you want to enter?"))
for i in range(var):
Has = input('CAR :')
for name in Has:
cur.execute('SELECT count(*) FROM CARS WHERE Name = ?',(name,))
base = cur.fetchone()[0]
if base ==0:
print('CAR EXISTS')
else:
some = input('RATE:')
cur.execute('''INSERT INTO CARS(Name,Rate)VALUES(?,?)''',{'Name':Has,'Rate':some})
db.close()
我想在添加到我的数据库之前检查输入的汽车是否已经存在,但是当我这样做时它显示以下输出
CAR:奥迪 车辆存在 车辆存在 车辆存在 车辆出租车谢谢
编辑 根据CL'S注释,我插入了语句,发现循环遍历每个像这样的单个字符 CAR:奥迪 一个 汽车已经存在 ü 汽车已经存在 等等
我解决了但是我得到了同样的错误, 以下是我的解决方法:
for name in Has,:
工作代码:[除了回答我的代码包含几个错误,为什么我提供此代码]
import sqlite3
db = sqlite3.connect('Cars.db')
cur= db.cursor()
var = (int)(input("How many cars you want to enter?"))
for i in range(var):
Has = input('CAR :')
for name in Has,:
cur.execute('SELECT count(*) FROM CARS WHERE Name = ?',(name,))
base = cur.fetchone()[0]
if base>0:
print('CAR EXISTS')
else:
some = input('RATE:')
var = '''INSERT INTO CARS(Name,Rate)VALUES(?,?)'''
cur.execute(var,(name,some))
db.commit()
db.close()
答案 0 :(得分:0)
if base ==0:
print('CAR EXISTS')
当行数为零时,您正在打印" EXISTS"。 这是错的;当汽车存在时,匹配行的数量将大于零。