1.問題:
使用python3 進行資料庫插入報以下錯誤:
(1267, "illegal mix of collations (latin1_swedish_ci,implicit) and (utf8_general_ci,coercible) for operation '='")
2.排查:
資料連線已經是utf-8;再一看,發現mysql的字段為latin型別
因此可以判斷是表建立時字元型別預設型別為latin1
3.解決:
在建立**時甚至預設型別: default charset=utf8,如下:
'create table sobook(book_id int not null auto_increment primary key, name varchar(255),author varchar(255),book_format varchar(255),preview_count varchar(255),tag varchar(255),publish_time varchar(255),dbpf varchar(255),isbn varchar(255),file_name varchar(255), file_size varchar(255),icon_url varchar(255), book_describe text, book_type varchar(255),author_des_id int,foreign key (author_des_id) references authorbg(author_des_id)) default charset=utf8 '
即可解決表型別與插入的字串編碼不同的問題。 python3 MySQL資料庫操作
在python2.x中用習慣了mysqldb,但是在python3.x中已經不支援那個元件了。取而代之的是 pip3 install pymysql另外,mysql官方出了 pip3 install mysql.connector也是可以的。如下 import pymysql 連線 conn pym...
Python3 MySQL 資料庫連線
pymysql 是在 python3.x 版本中用於連線 mysql 伺服器的乙個庫,python2中則使用mysqldb。pymysql 遵循 python 資料庫 api v2.0 規範,幷包含了 pure python mysql 客戶端庫。一.安裝資料庫api介面 pip install p...
Python3 MySQL正常連線與ssh跳板連線
1.mysql.connector pip install mysql.connector 2.pymysql pip install pymysql 3.sshtunnel pip install sshtunnel import mysql.connector db mysql.connecto...