2015-11-04 96 views
0

这里另一个MySQL数据库的情况是: 我有有一个名为store_barcode两列表中的一个MySQL数据库:条码,日期。 我有另一个MySQL数据库,有一个名为product_info的表,有四列:条码,product_code,product_desc,price。通行证检索光标从一个MySQL数据库来使用Python

我的目标是首先从store_barcode表中检索一个条形码,然后在product_info表中找到该条形码,并打印出该条形码的行,该行将是product_code,product_desc和price(稍后将存储在另一个表中) ) 我该如何建立这样的连接?

回答

0

首先从你需要store_barcode获取barcode行。在下面的代码中,我只是将它们全部取出,但可以使用WHERE SQL语句指定任何所需的条件。然后在product_info表中搜索带有刚获得的条形码的产品。这里有一个例子:

import cursor 


get_barcode_query = 'SELECT barcode FROM store_barcode;' 
barcodes = cursor.execute(get_barcode_query).fetchall() 

get_product_query = 'SELECT product_code, product_desc FROM product_info WHERE barcode=%s;' 
for barcode in barcodes: 
    print(cursor.execute(get_barcode_query % barcode).fetchone()) 

你走了,现在你只是打印所有你想要的条形码行。

+0

谢谢您的答复。我有一个问题,但。当我尝试运行:条形码= cursor.execute(get_barcode_query).fetchall()我得到一个属性错误无类型对象有没有属性使用fetchall,同样也适用于fetchone。如果我不叫直接上的光标,而是第一次运行cursor.execute(get_barcode_query)的方法,然后条形码= cursor.fetchall()它不给错误,但是当它在for循环只打印无 –

+0

你确定你已经与你的数据库建立了连接? – Nhor

+0

是的,因为如果我不把条件放在WHERE中,它会打印出第一个查询的条形码。 –

相关问题