0
我有我的Python已經創建添加列表到一個單一的MySQL表字段
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| consensus | char(40) | NO | | NULL | |
| identityb32 | char(40) | NO | | NULL | |
| pubdate | char(40) | NO | | NULL | |
| dirport | char(6) | NO | | NULL | |
| ip | char(40) | NO | | NULL | |
| orport | char(40) | NO | | NULL | |
| identityhash | char(40) | NO | | NULL | |
| nick | char(40) | NO | | NULL | |
| version | char(40) | NO | | NULL | |
| flags | varchar(500) | NO | | NULL | |
| identity | char(40) | NO | | NULL | |
| digest | char(40) | NO | | NULL | |
| pubtime | char(40) | NO | | NULL | |
+--------------+--------------+------+-----+---------+-------+
13 rows in set (0.00 sec)
一切工作順利接受一個小問題一個MySQL表。
對於我flags
場我需要添加值的格式爲:
['Exit', 'Fast', 'Guard', 'HSDir', 'Named', 'Running', 'Stable', 'V2Dir', 'Valid']
,我不能將這些值添加到表中。爲了將字段的所有標誌值添加到標誌字段,我需要做什麼?
Python代碼:
format = """','"""
c = 0
# Prepare SQL query to INSERT a record into the database.
sql = """INSERT INTO """ + onion_Add +"""(consensus, identityb32, pubdate, dirport, ip, orport, identityhash, nick, version, flags, identity, digest, pubtime)
VALUES ('""" +consensus.consensus_name + format + identityb32[c] + format + pubdate[c] + format + dirport[c] + format + ip[c] + format + orport[c] + format + identityhash[c] + format + nick[c] + format + version[c] + format + flags + format + identity[c] + format + digest[c] + format + pubtime[c] + """')"""
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()
print "adding to db error"
# disconnect from server
db.close()
爲什麼不把名單與'str_flags字符串=','。join(flags)'? – xnx 2015-03-13 13:13:18
向我們展示您用於INSERT這樣的列表作爲'flag'的值的Python代碼。 – 2015-03-13 13:14:18
現在在上面添加插入的Python代碼 – user2065929 2015-03-13 13:16:17