本文介紹了將NaN值插入MySQL數(shù)據(jù)庫的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我有一些數(shù)據(jù),其中包含空值、浮點數(shù)和偶爾的NAN。我正在嘗試使用python和MySqldb將這些數(shù)據(jù)插入到MySQL數(shù)據(jù)庫中。
以下是INSERT語句:
for row in zip(currents, voltages):
row = [id] + list(row)
for item in row:
sql_insert = ('INSERT INTO result(id, current, voltage)'
'VALUES(%s, "%s")')
cursor.execute(sql_insert, row)
下表:
CREATE TABLE langmuir_result (result_id INT auto_increment,
id INT,
current FLOAT,
voltage FLOAT,
PRIMARY KEY (result_id));
當(dāng)我嘗試將NaN插入到表中時,收到以下錯誤:
_mysql_exceptions.DataError: (1265, "Data truncated for column 'current' at row 1")
我希望將NaN值以浮點或數(shù)字形式插入數(shù)據(jù)庫,而不是以字符串或NULL形式插入。我嘗試將列的類型設(shè)置為FLOAT和DECIMAL,但得到了相同的錯誤。如何才能在不將其設(shè)置為字符串或空的情況下執(zhí)行此操作?這可能嗎?
推薦答案
不能,在mySQL的浮點型列中不能存儲NaN值。允許的值僅為空或數(shù)字。您可以使用一些不用于NaN的值來解決它(可能是負(fù)值,大/低值)
這篇關(guān)于將NaN值插入MySQL數(shù)據(jù)庫的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,