Я пытаюсь выяснить, почему моя команда SQL-insert сталкивается с проблемами. Я пытаюсь ежедневно вставлять ~ 5k записей в таблицу и разработал цикл for для создания SQL-команды, которая выполняет INSERT INTO для каждой из этих записей.
Я использую приведенный ниже кодэто генерирует одну массивную строку, которая затем запускается в среде SQL.
Когда я запускаю этот код, я получаю нечетное количество вставленных записей (может быть 300, 1000 или 600). Как ни странно, если я скопирую строку total_sql напрямую на SQL-сервер и запустю ее, он создаст все записи. Поэтому я считаю, что существует проблема с удаленным запуском этого SQL-кода.
У кого-нибудь была подобная проблема, как эта раньше? Сначала я думал, что это связано с длиной строки, но это не объясняет, почему количество записей меняется каждый раз, когда я запускаю его, поэтому у меня заканчиваются идеи .. Спасибо!
total_sql = ''
n= 0
for i in range(Mydata.shape[0]):
current_line = '''INSERT INTO TableName (ColumnName)
VALUES
(''' + My_data[i] "') "
total_sql = total_sql + current_line
n+=1
cursor.execute(total_sql)
К вашему сведению, у меня изначально была система, которая выполняла вставку для каждой отдельной строки, но она оказалась медленной и с большей вероятностью приводила к тайм-аутам связи с сервером.