在Aurora MySQL 5.6
上考虑以下架构:
create table temp_table (
`id` bigint,
`term_frequency` enum('Weekly','Monthly','Fortnightly','Quarterly') NOT NULL,
PRIMARY KEY(id)
);
sql_mode
参数设置为空,因此,可以将term_frequency
字段作为空引号''
。
因此,从mysql客户端执行以下查询即可。
insert into temp_table values (1, '');
但是,当我使用pymysql连接器时,通过python3,我无法做到这一点。
import pymysql
connection = pymysql.connect(host, pass, database)
cursor = connection.cursor()
cursor.execute('''insert into temp_table values (1, '');''')
connection.commit()
这将引发以下错误:
(1265, "Data truncated for column 'term_frequency' at row 1")
为什么会这样,如何在pymysql中解决此问题?