我有三张桌子
首先是Registered Plate Table
第二个是Unregistered Plate Table
第三是Vehicle_Login Table
在登记表中,我有一个车牌号AAA4890
在未注册的表中,我有一个车牌号AAA890
然后我有一个接受recognized plate
的函数。ocr的可能识别是AAA890
和AAA4890
等等(我将转储)。在我将recognized plate
插入Vehicle_login
之前,我想将recognized plate
插入Registered Table and Unregistered table
的板中。如果识别的盘子与我的两张桌子不匹配。我将转储它,否则我将把它插入Vehicle_Login
,这也取决于哪个表和它的板匹配
另外,如果recognized plate
已经在Vehicle_Login
中,我将不会再次插入它,因此我可以防止多个值再次插入它。我正在从Ip cam读取帧,并且我的程序可以识别它的每一帧
add_plate = "INSERT INTO vehicle2_login (plate,status,time_login) values (%s,%s,%s)"
ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
last_id = "SELECT * FROM vehicle2_login WHERE id=(SELECT MAX(id) FROM `vehicle2_login`)"
cursor.execute(last_id)
record = cursor.fetchall()
last_plate = record[0][1]
sql = "SELECT * FROM registered where plate = %s"
cursor.execute(sql, (plate, ))
result_set = cursor.fetchall()
checker = ""
for row in result_set:
if plate == row[2]:
checker = True
elif plate != row[2]:
checker = False
else:
checker = False
sql2 = "SELECT * FROM unregistered where plate = %s"
cursor.execute(sql2, (plate, ))
result_set2 = cursor.fetchall()
checker2 = ""
for row2 in result_set2:
if plate == row[1]:
checker2 = True
elif plate != row[1]:
checker2 = False
else:
checker2 = False
if checker or not checker2:
status = "Registered"
data_plate = (plate,status,st)
print("This plate number", plate, "is Registered \n")
if plate == last_plate:
print("Cannot insert it's already logged in \n")
else:
cursor.execute(add_plate, data_plate)
mydb.commit()
elif not checker or checker2:
status = "Unregistered"
data_plate = (plate,status,st)
print("This plate number", plate, "is Unregistered \n")
if plate == last_plate:
print("Cannot insert it's already logged in \n")
else:
cursor.execute(add_plate, data_plate)
mydb.commit()
elif not checker and not checker2:
print(plate, "was Dumped!")
目前没有回答
相关问题 更多 >
编程相关推荐