【问题标题】:Python Mysql - Not able to insert random data in mysql databasePython Mysql - 无法在 mysql 数据库中插入随机数据
【发布时间】:2020-12-14 08:19:35
【问题描述】:

我能够连接到数据库并创建表,但无法在我的表中生成/插入随机数据。 请看下面的代码。

import random
import mysql.connector


mydb = mysql.connector.connect(
    host ="localhost",
    user="root",
    passwd="qwertyuiop098",
    database="sampless_db",

)
my_cursor = mydb.cursor() 

name = ['Abhinav','Abhi','Abhishek','Abhijeet','Abhash']
last = ['kumar','singh','rathor']

my_cursor.execute("CREATE TABLE IF NOT EXISTS sampledata1(user_id INT AUTO_INCREMENT PRIMARY KEY,Name VARCHAR(100), Surname VARCHAR(100))")
for i in range (100):
    v1 = random.choice(name)
    v2 = random.choice(last)
    sql_statement = "INSERT INTO sampledata1(Name,Surname) VALUES (" + v1 + "," + v2  + ")"
    my_cursor.execute(sql_statement)
mydb.commit()

【问题讨论】:

  • “无法插入”是什么意思?你有错误吗?代码是否正确执行,但缺少新数据?您是否接到威胁电话?

标签: python mysql sql python-3.x database


【解决方案1】:

SQL 需要在字符串两边加上引号。

但是你应该使用参数而不是直接将变量替换到 SQL 字符串中。

sql_statement = "INSERT INTO sampledata1(Name,Surname) VALUES (%s, %s)"
for i in range(100):
    v1 = random.choice(name)
    v2 = random.choice(last)
    my_cursor.execute(sql_statement, (v1, v2))
mydb.commit

【讨论】:

    猜你喜欢
    • 2011-01-30
    • 2014-01-24
    • 2014-07-09
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多