[解決済み] Python MySQLdb の問題 (TypeError: %d format: 数値が必要で、str ではありません)
2022-02-07 13:51:29
質問内容
以下のような挿入操作を行おうとしています。
cursor.execute("""
insert into tree (id,parent_id,level,description,code,start,end)
values (%d,%d,%d,%s,%s,%f,%f)
""", (1,1,1,'abc','def',1,1)
)
私のMYSQLテーブルの構造は。
id int(255),
parent_id int(255),
level int(11),
description varchar(255),
code varchar(255),
start decimal(25,4),
end decimal(25,4)
しかし、このプログラムを実行すると、エラーが発生します。
ファイル "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", 行 151, in execute クエリ = クエリ % db.literal(args)
TypeError: %d format: str" ではなく、数値が必要です。
解決方法は?
フォーマット文字列は、実際には通常のPythonのフォーマット文字列ではありません。常に
%s
をすべてのフィールドで使用します。
参照 公文書 :
argsがリストまたはタプルの場合、%sは プレースホルダー をクエリに追加します。argsがdictの場合、%(name)sはクエリのプレースホルダとして使用できます。
-> つまり: ここ
%s
は
NOT フォーマッタ
しかし
はプレースホルダー
関連
-
PythonはWordの読み書きの変更操作を実装している
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み】pip install mysql-python は EnvironmentError: mysql_config not found で失敗します。
-
[解決済み] TypeError: Python3でファイルへの書き込み時に'str'ではなくbytesのようなオブジェクトが要求される
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
pythonを使ったオフィス自動化コード例
-
Python関数の高度な応用を解説
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Pythonショートビデオクローラーチュートリアル
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)