01/10/2018, 11:18
Python - vì sao database không edit được?
Các bác cho em hỏi database của em không INSERT, UPDATE, DELETE được, chỉ SELECT được thôi. Túm lại là không ghi được, chỉ đọc được thôi là vì sao ạ?
Về lỗi database em nghĩ là không phải vì trước đó em vẫn ghi bình thường. Chỉ có giờ viết đoạn code khác thì không ghi được thôi.
Đây là cách em tổ chức SQL
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pymysql
import pymysql.cursors
class sskDATABASE(object):
def ConnectDB(self, data):
self.db = pymysql.connect(data['db_host'], data['db_user'], data['db_pass'], data['db_name'], charset=data['charset'])
self.cursor = self.db.cursor(pymysql.cursors.DictCursor)
def runSQL(self,sql):
try:
print sql
self.cursor.execute(sql)
return self.cursor.fetchall()
except:
print 'ERROR: ',sql
self.db.rollback()
return '
def getLastID(self):
return self.cursor.lastrowid
########################################################################
########################################################################
########################################################################
class database_crawler(sskDATABASE):
data = {
'db_host' : 'xxxxxxxxx',
'db_user' : 'sosanka_ssg',
'db_pass' : 'halflifea',
'db_name' : 'sosanka_crawler',
'charset' : 'utf8'
}
def __init__(self):
self.ConnectDB(self.data)
class database_websosanka(sskDATABASE):
data = {
'db_host': 'xxxxxxxxx',
'db_user': 'sosanka_ssg',
'db_pass': 'halflifea',
'db_name': 'sosanka_ssg',
'charset': 'utf8'
}
def __init__(self):
self.ConnectDB(self.data)
Bài liên quan
Thế này có kinh nghiệm giời mới giúp bạn được
Chắc bạn đang làm ORM?
Đây là cách em tổ chức file mySQL, các bác xem và góp ý giúp em với em có gì sai sót không? Mục đích của em là lấy dữ liệu từ bảng này chuyển sang bảng kia nên em khai báo 2 database.
Và hiện tại thì cả 2 database của em đều không ghi được với cấu trúc này. Chỉ đọc được thôi.
Sau khi bạn dùng insert/update thì nó có trả lại cái gì hay throw gì không?
Câu lệnh bạn dùng insert là gì?, test thử với parent class trước chưa?
Lệnh của em đảm bảo chuẩn.
Em dùng lệnh select thì ok
Lệnh update, Em print lệnh ra paste thử vào phpmyadmin vẫn ok.
Em đặt trong cặp try: … except:… mà không thấy lỗi gì báo lên cả.
Đây rồi ạ.
Trong Python còn cần phải có cái này sau câu lệnh insert, update nữa
Hix.
Chia sẻ để những bạn đi sau rút kinh nghiệm.
hiu hiu