Hỏi về update MySQLdb

mọi người cho mình hỏi chút.
giờ mình muốn update lại thông tin từ 1 table cho trước thì làm thế nào ạ

trong hình là đoạn code update tuổi + thêm 1 vs điều kiện giới tính là nam.
giời mình muốn update lại họ hoặc tên thì là thế nào.
mình cảm ơn.

Mình hỏi thật bạn đã thử google or stackoverflow /suy nghĩ về cách giải quyết vấn đề trước khi đăng bài chưa vậy???

Bạn đừng nói như vậy, không ai học code mà lại ko suy nghĩ+google search cả, 2 cái này là cơ bản rồi, chỉ khi người ta ko còn cách nào nữa thì mới đi hỏi.
chạy code không báo lỗi gì, nhưng lệnh thì lại ko thực thi đc thì mới cần đến giúp đỡ của mọi người

Bạn thử catch lỗi mysql trong khối except thử xem ra gì rồi tìm hiểu tiếp (xin lỗi vì mình đang dùng smartphone và máy cũng sắp hết pin nên không tìm chính xác code bắt lỗi trong mysql trên Python, bạn có thể lên stackoverflow hoặc trang Documentation của MySQL để search)
P/S: Mình thấy có topic hỏi cách bắt error trong MySQL http://stackoverflow.com/questions/30996401/error-handling-in-python-mysql
Theo mình thấy thì do bạn viết câu lệnh SQL sai nên bị lỗi. Bạn nhớ nếu muốn cho python hiểu bạn gõ dấu nháy đơn hay nháy kép trong câu lệnh SQL thì dùng " hay ’

1 Like

try: except để bắt lỗi trong quá trình thực hiện truy vấn thôi ạ, còn của e là khi e đưa trực tiếp giá trị cho từng row thì nó vẫn update đc bình thương.


dữ liệu vẫn update đc 1 cách bình thường.
nhưng khi gán bằng RAW_INPUT thì dữ liệu ko đc update, mặc dù ko có lỗi gì

E không biết mình gán sai ở chỗ nào.

Mình nghĩ khi truy vấn lệnh SQL thì bị lôi. Mà nếu xẩy ra lỗi trong try thì nó sẽ chạy trong expect, tức chỉ rollback về trạng thái cũ nên… không in lỗi là đúng rồi
Đợi mình demo thử rồi cho bạn lời khuyên

Chỗ except bạn thêm dòng này để xem lỗi
except (Exception, MySQLdb.Error) as e: db.rollback() print("Some errors here: %s" % e)

Như trên hình bạn thấy mình bị báo lỗi SQL do sai cú pháp SQL
Riêng tuổi và học phí (dữ liệu dạng số) không có dấu nháy đơn

1 Like

cảm ơn bạn đã nhiệt tình giúp đỡ về mặt kiểu dữ liệu của mình thì không sai, vì mình đã ép kiểu trước khi input vào database rồi.
Cảm ơn cái hình của bạn. đã giúp mình tìm ra chỗ sai của mình. mình đặt nhầm vị trí của dấu “”"


1 lần nữa cảm ơn bạn rất nhiều.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?