According to https://dev.mysql.com/doc/refman/5.7/en/variables-table.html, VARIABLE_VALUE is a column in the INFORMATION_SCHEMA GLOBAL_VARIABLES and SESSION_VARIABLES tables.
You could use the python warnings filter to turn these warnings into exceptions: import warnings warnings.simplefilter("error") ...which will give you an exception and a stack trace, so you can see where these warnings are coming from. Simon On Wed, Aug 22, 2018 at 10:37 AM <imad.youbi.idri...@gmail.com> wrote: > Sorry for my last messy message, here's a better version. > > That's a good question actually. If you follow my Stackoverflow Post > you'll see I've updated it with the following information : > > > The dataframe that is persisted in the database (See attached image): > > > [image: DataFrame.JPG] > > So I actually have no idea wherethe column "VARIABLE_VALUE" is coming from. > > > On Wednesday, August 22, 2018 at 10:37:30 AM UTC+2, Simon King wrote: >> >> I've never used Pandas, so this may not make any sense, but where does >> the column "VARIABLE_VALUE" come from? Is it a column in your >> dataframe? >> >> Simon >> >> On Wed, Aug 22, 2018 at 8:52 AM <imad.youb...@gmail.com> wrote: >> > >> > I get the following warnings, when trying to save a simple dataframe to >> mysql.: >> > >> > > C:\...\anaconda3\lib\site-packages\pymysql\cursors.py:170: Warning: >> (1366, "Incorrect string value: '\\x92\\xE9t\\xE9)' for column >> 'VARIABLE_VALUE' at row 518") >> > result = self._query(query) >> > >> > And >> > > C:\...anaconda3\lib\site-packages\pymysql\cursors.py:170: Warning: >> > > (3719, "'utf8' is currently an alias for the character set UTF8MB3, >> > > but will be an alias for UTF8MB4 in a future release. Please consider >> > > using UTF8MB4 in order to be unambiguous.") result = >> > > self._query(query) >> > >> > Environment info : I use Mysql8, python3.6 (pymysql 0.9.2, sqlalchemy >> 1.2.1) >> > >> > I visited posts like the one linked bellow, none of which seem to give >> a solution as to how to avoid this warning. >> > >> > - [MySQL “incorrect string value” error when save unicode string in >> Django][1] -> Indication is to use UTF8 >> > >> > >> > N.B : The Collation in the table within mysql doesn't seem to be set to >> the one I specified in the `create_db` function within the `Connection` >> class. >> > >> > The executable code: >> > >> > import DataEngine.db.Connection as connection >> > import random >> > import pandas as pd >> > >> > if __name__ == "__main__": >> > conn = connection.Connection(host="host_name", port="3306", >> user="username", password="password") >> > conn.create_db("raw_data") >> > conn.establish("raw_data") >> > l1 = [] >> > for i in range(100): >> > l_nested = [] >> > for j in range(10): >> > l_nested.append(random.randint(0, 100)) >> > l1.append(l_nested) >> > df = pd.DataFrame(l1) >> > >> > conn.save(df, "random_df") >> > # df2 = conn.retrieve("random_df") >> > >> > My `Connection class` >> > >> > import sqlalchemy >> > import pymysql >> > import pandas as pd >> > >> > >> > class Connection: >> > def __init__(self: object, host: str, port: str, user: str, >> password: str): >> > self.host = host >> > self.port = port >> > self.user = user >> > self.password = password >> > self.conn = None >> > >> > def create_db(self: object, db_name: str, charset: str = >> "utf8mb4", collate:str ="utf8mb4_unicode_ci",drop_if_exists: bool = True): >> > c = pymysql.connect(host=self.host, user=self.user, >> password=self.password) >> > if drop_if_exists: >> > c.cursor().execute("DROP DATABASE IF EXISTS " + >> db_name) >> > c.cursor().execute("CREATE DATABASE " + db_name + " >> CHARACTER SET=" + charset + " COLLATE=" + collate) >> > c.close() >> > print("Database %s created with a %s charset" % (db_name, >> charset)) >> > >> > def establish(self: object, db_name: str, charset: str = >> "utf8mb4"): >> > self.conn = sqlalchemy.create_engine( >> > "mysql+pymysql://" + self.user + ":" + self.password + >> "@" + self.host + ":" + self.port + "/" + db_name + >> > "?charset=" + charset) >> > print("Connection with database : %s has been established >> as %s at %s." % (db_name, self.user, self.host)) >> > print("Charset : %s" % charset) >> > >> > def retrieve(self, table): >> > df = pd.read_sql_table(table, self.conn) >> > return df >> > >> > def save(self: object, df: "Pandas.DataFrame", table: str, >> if_exists: str = "replace", chunksize: int = 10000): >> > df.to_sql(name=table, con=self.conn, if_exists=if_exists, >> chunksize=chunksize) >> > >> > Some elements that might help: >> > [![Database is of charset utf8mb4][2]][2] >> > [![Table columns don't seem to have the correct collation even though I >> specified it when creating the db][3]][3] >> > >> > >> > [1]: >> https://stackoverflow.com/questions/2108824/mysql-incorrect-string-value-error-when-save-unicode-string-in-django >> > [2]: https://i.stack.imgur.com/9iAPF.png >> > [3]: https://i.stack.imgur.com/qBq6U.png >> > >> > -- >> > SQLAlchemy - >> > The Python SQL Toolkit and Object Relational Mapper >> > >> > http://www.sqlalchemy.org/ >> > >> > To post example code, please provide an MCVE: Minimal, Complete, and >> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >> description. >> > --- >> > You received this message because you are subscribed to the Google >> Groups "sqlalchemy" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to sqlalchemy+...@googlegroups.com. >> > To post to this group, send email to sqlal...@googlegroups.com. >> > Visit this group at https://groups.google.com/group/sqlalchemy. >> > For more options, visit https://groups.google.com/d/optout. >> > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To post to this group, send email to sqlalchemy@googlegroups.com. > Visit this group at https://groups.google.com/group/sqlalchemy. > For more options, visit https://groups.google.com/d/optout. > -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.