2014-02-19 2 views
0

По какой-то причине я не могу вставить данные в несколько столбцов в таблице mysql. Как только я вставляю в первый столбец (любой столбец), мне трудно вставлять в другие столбцы. Я заметил, что после вставки в первый столбец во втором столбце вставка начинается с точки, где она заканчивается в первом столбце, а на втором. Я попытался вставить в третий столбец, но никаких вставок не произошло.Вставка данных в несколько столбцов в таблице MySQL из python

Смотрите мой код ниже:

week1=xrange(1,101,1) #for column1 
week2=xrange(1,101,1)#for column2 

cur.executemany("INSERT INTO stud(classID) VALUES(%s)", [(x,) for x in week1]) 

db.commit() 

Спасибо заранее за ваши предложения.

+0

Какая библиотека MySQL вы используете? Вы читали [PEP 249] (http://www.python.org/dev/peps/pep-0249/)? – Tupteq

+0

Привет @Tupteq, я использую разъем 1,2,3 MySQL-python. Я не читал о PEP. – Tiger1

+0

Тогда я думаю, вы должны начать с чтения PEP. Он должен ответить на этот вопрос и на многие другие, которые у вас есть. – Tupteq

ответ

1

Вы должны производить списки с двумя колонками; если ваши две колонны поступают из двух отдельных итерируемыми, используйте zip(), чтобы присоединиться к ним:

week1 = xrange(1, 101) #for column1 
week2 = xrange(1, 101) #for column2 

cur.executemany("INSERT INTO stud (classID, othercolumn) VALUES(%s, %s)", zip(week1, week2)) 
db.commit() 

zip(week1, week2) производит последовательность кортежей; каждая пара значений, взятых из обеих входных последовательностей: [(week1[0], week2[0]), (week1[1], week2[1]), ...].

+0

Привет @Martijn, большое вам спасибо, ваше решение отлично работало. – Tiger1

+0

@ Tiger1: Рад помочь! –

+0

Еще один вопрос, прежде чем идти, как я могу расширить пределы строк за пределами 1000? – Tiger1

Смежные вопросы