sql >> データベース >  >> RDS >> Mysql

SQLINSERTステートメントにPythondictを使用する

    これをMySQLで使用することについてのコメントは完全ではないと思います。 MySQLdbは、列のパラメーター置換を行わず、値(IIUC)のみを行います。したがって、おそらく

    のようになります。
    placeholders = ', '.join(['%s'] * len(myDict))
    columns = ', '.join(myDict.keys())
    sql = "INSERT INTO %s ( %s ) VALUES ( %s )" % (table, columns, placeholders)
    # valid in Python 2
    cursor.execute(sql, myDict.values())
    # valid in Python 3
    cursor.execute(sql, list(myDict.values()))
    

    ただし、列から逃げることはないので、最初に列を確認することをお勧めします。...

    http://mail.python.org/pipermail/tutor/を参照してください2010-12月/080701.html より完全なソリューションについては



    1. Flask-SQLAlchemyを使用してMSSQLデータベースに接続します

    2. Ubuntu20.04にZabbixをインストールして設定する方法

    3. Oracle .Net ManagedDataAccessエラー:タイプ「OracleInternal.Common.ConfigBaseClass」をアセンブリからロードできませんでした

    4. ClusterControl-高度なバックアップ管理-mariabackupパートIII