私は下部のMySqlクエリ(sql1)を持っています。テーブルにデータを挿入するために(テーブルから選択*)を使用
sq1 = 'select course_id, creator_id, max(course_num) + 1, recordid
' from Courses where recordid in' \
' (' + ','.join(map(str, RecordMatch1)) + ') group by recordid'
cursor.execute(sql1)
ところで、RecordMatch1は、他の以前のクエリと一致するデータを持つオブジェクトです。
これが可能かどうかを確認しようとしています。 (select * from sql1)部分。
sql2 = ' insert into Courses (course_id, creator_id, course_num, record_id) '\
' Values (select * from sql1)'
cursor.execute(sql2)
(Select *)を使用するのではなく、すべてを表現する必要がありますか?
ベストプラクティスとは何ですか?
"values"という単語を使わずに、INSERT INTO table1(col、col、...)SELECT(col、col、...)FROM table2'を書きません。 – khelwood