簡體   English   中英

使用mySQLdb在Python中編寫MySQL數據庫

[英]Writing MySQL databases in Python using mySQLdb

所以我有以下代碼,它可以工作:

for count in range(0,1000):
    L=[random.randint(0, 127),random.randint(0, 127),random.randint(0, 127)]
    random.randint(0, 127)
    name=''.join(map(chr,L))

    number=random.randint(0,1000)

    x.execute('insert into testTable set name=(%s), number=(%s)', (name, number))

在上面,x只是我所做的光標(很明顯)。 我只是根據ASCII值和隨機數創建一個隨機字符串,並將其寫入數據庫(這是一個純BS示例,因此我知道它可以工作)/

然后,

我有另一個腳本:

x.execute('insert into rooms set \
        room_name=(%s),\
        room_sqft=(%s),\
        room_type=(%s),\
        room_purpose=(%s) ,\
        room_floor_number=(%s)',
        (name, sqft, roomType, room_use_ranking, floor))

而且我收到語法錯誤:第一行的語法無效,就在x處。 x.execute的一部分。

這兩行之間有什么區別? 在問題代碼中,除了name之外的所有參數都是從int(raw_input(...))類型提示中獲取的ints(名稱為字符串),該提示捕獲了錯誤的輸入錯誤。

顯然這可行,但是第二段代碼出了什么問題?

謝謝,nkk

在執行x.execute之前,存在一個問題。 (x在這一點上是意外的)。 您可以鏈接更多文件嗎?

另外,請嘗試這種格式設置,該格式可以通過將字符串設置為一個blob來清除這種情況。 (您的語法熒光筆也應將其顯示為一個大的多行字符串!)

sql = '''
    INSERT INTO rooms
    SET room_name=(%s),
        room_sqft=(%s),
        room_type=(%s),
        room_purpose=(%s),
        room_floor_number=(%s)
'''

x.execute(sql, (name, sqft, roomType, room_use_ranking, floor))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM