ich erzeuge mir eine Tabelle in der ich mehrere Daten speichere. Die Daten bekomme ich per Select aus 2 Temporary Tables.
Nun möchte ich zusätzlich die Mac Adresse mit einer anderen Tabelle vergleichen und die zugehörige ID einfügen.
Mein Versuch war zunächst der auskommentierte Code.
Code: Alles auswählen
connection = MySQLdb.connect("*******", "*******", "","*******")
cursor = connection.cursor()
cursor.execute("""CREATE TEMPORARY TABLE get_pppoe_all (id INTEGER, einwahlid TEXT, mac VARCHAR(18))""")
cursor.execute("""CREATE TEMPORARY TABLE get_pppoe_detail (id INTEGER, einwahlid TEXT, vlan INTEGER, ip TEXT)""")
get_pppoe_all = open("C:\\Dokumente und Einstellungen\\*******\\Desktop\\get_pppoe_all.txt").readlines()
get_pppoe_detail = open("C:\\Dokumente und Einstellungen\\*******\\Desktop\\get_pppoe_detail.txt").readlines()
for i in xrange(len(get_pppoe_all)):
cursor.execute("INSERT INTO get_pppoe_all VALUES(%s, %s, %s)", get_pppoe_all[i].strip('\n').split(';'))
for i in xrange(len(get_pppoe_detail)):
cursor.execute("INSERT INTO get_pppoe_detail VALUES(%s, %s, %s, %s)", get_pppoe_detail[i].strip('\n').split(';'))
#cursor.execute("""CREATE TABLE vergleich AS SELECT a.id, a.einwahlid, a.mac, b.vlan, b.ip, c.mac_id FROM get_pppoe_all AS a JOIN get_pppoe_detail AS b ON a.id = b.id AND a.einwahlid = b.einwahlid JOIN mac AS c ON c.mac = a.mac""")
cursor.execute("""CREATE TABLE vergleich AS SELECT a.id, a.einwahlid, a.mac, b.vlan, b.ip FROM get_pppoe_all AS a JOIN get_pppoe_detail AS b ON a.id = b.id AND a.einwahlid = b.einwahlid""")
cursor.execute("""DROP TEMPORARY TABLE get_pppoe_all""")
cursor.execute("""DROP TEMPORARY TABLE get_pppoe_detail""")
Nun habe ich mir überlegt die Mac Adresse anders zu speichern z.B als Hexadezimalzahl oder direkt als Integer (vllt. besser?) aber wie kann ich das bewerkstelligen?
Mfg