![](/img/trans.png)
[英]Unable to insert rows of a CSV file into a MYSQL database through python
[英]Unable to insert into MySQL database
我正在尝试使用以下代码在MySQL数据库中插入某些内容,即使我没有收到任何异常或错误,Table user
也没有任何内容。 在crusor.execute()
我尝试用单引号将列名封装起来,并且不使用crusor.execute()
对我没有任何作用。
import MySQLdb as sql
class DataBaseInteraction:
def __init__(self):
shost = "127.0.0.1"
suser = "root"
spassword = ""
sdb = "gui"
connection = sql.connect(host=shost,
user=suser,
password=spassword,
db=sdb)
try:
self.cursor = connection.cursor()
print("sucksess")
except Exception as e:
print("The Exception was" + str(e))
self.createuser("UserName", "Name", "Email", "Password")
def createuser(self, username, namee, password, email):
print("reached here")
try:
self.cursor.execute("""INSERT INTO user (`UserName`, `Name`, `Email`, `Password`) VALUES ({},{},{},{})""".format(username,
namee,
email,
password))
print("SuckSess")
except Exception as e:
print("Exception was "+str(e))
if __name__ == "__main__":
a = DataBaseInteraction()
这是我用来制作表格的查询
CREATE TABLE `user` (
`id` int(11) NOT NULL,
`UserName` varchar(255) NOT NULL,
`Name` varchar(255) NOT NULL,
`Email` varchar(255) NOT NULL,
`Password` varchar(255) NOT NULL,
`CreationDate` date DEFAULT NULL,
`LoggedIn` tinyint(1) NOT NULL DEFAULT '0',
`LatestLoginTime` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
您没有提交交易。 在self.cursor.execute
语句之后,执行self.connection.commit()
或在创建连接时设置autocommit=True
。 例如:
connection = sql.connect(host=shost,
user=suser,
password=spassword,
db=sdb,
autocommit=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.