Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Không xử lý được thông số định dạng với mysql.connector bằng Python

Tùy chọn đầu tiên là cách chính xác để đặt các tham số truy vấn vào truy vấn - nó được gọi là truy vấn được tham số hóa . Trong trường hợp này, bạn đang cho phép trình điều khiển cơ sở dữ liệu thoát khỏi các tham số truy vấn, chèn chúng vào truy vấn một cách an toàn và xử lý các chuyển đổi loại Python-sang-MySQL.

Lỗi bạn gặp phải có nghĩa là nó không thể chuyển đổi một trong các ID , Record , Latitude , Longitude hoặc mã code giá trị tham số cho một kiểu cơ sở dữ liệu MySQL hợp lệ. Để cụ thể, hãy xem các loại biến bạn đã đăng:

ID        <type 'unicode'> 
Record    <type 'unicode'>
Latitude  <class 'bs4.element.NavigableString'>
Longitude <class 'bs4.element.NavigableString'>
code      <type 'unicode'>

Vấn đề là với LatitudeLongitude - họ là BeautifulSoup của NavigableString phiên bản lớp - trình chuyển đổi MySQL gặp khó khăn trong việc hiểu cách chuyển đổi NavigableString đối tượng thành một kiểu MySQL hợp lệ. Chuyển đổi chúng thành chuỗi một cách rõ ràng trước:

update = """
    INSERT INTO 
        myDB.newtable 
        (ID,Record,Latitude,Longitude,code) 
    VALUES 
        (%s,%s,%s,%s,%s)
"""
cursor2.execute(update, (ID, Record, str(Latitude), str(Longitude), code))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. đếm nhiều cột trong một truy vấn

  2. PDO - Số tham số không hợp lệ

  3. MySql và vấn đề chèn ID cuối cùng vẫn còn

  4. Khắc phục sự cố sao chép MySQL:Phần một

  5. Không thể chuyển đến hàng 0 trên chỉ mục kết quả 13 của MySQL