2009-09-04 7 views
0

누구나 파이썬 튜플 /리스트를 mysql 데이터베이스에 삽입하는 구문을 보여줄 수 있습니까? 기능이 튜플 반환 : 는 또한 예를 들어 사용자가 아무것도 ... 를 삽입하지 않고 특정 행을 통과하는 것이 가능한 경우 알 필요가튜플을 mysql db에 삽입

return job(jcardnum, jreg, jcarddate, jcardtime, jcardserve, jdeliver) 

사용자가 jreg 에 아무 것도 입력 didnt는 가정을 것 파이썬 자체가 DB에 관련된 행에 null을 입력하거나 문제가 실행됩니까?

+1

작업은 튜플이 아니며 기능입니다. 이 질문에는 답을 줄 수있는 정보가 너무 적습니다. – Omnifarious

답변

6

의견에서 말하듯이 job(...) 부분은 함수 (또는 클래스) 호출입니다. 해당 호출에서 반환되는 모든 항목도이 return 문에서 반환됩니다.

튜플이라고 가정합시다. "jreg에 사용자가 아무 것도 입력하지 않은 경우"는 무엇입니까? 그렇다면 우리에게 표시되지 않는 많은 코드에 따라 런타임 오류 (이름 : jreg), 빈 문자열 또는 기타 이니셜 기본값이 변경되지 않았거나 None; 후자의 경우 실제로 DB에서 NULL이됩니다 (물론 DB 스키마 당 허용되는 경우 - 그렇지 않으면 DB가 삽입 시도를 거부합니다). 당신이 마지막으로 삽입 할 정확하고 적절한 튜플 T이 있는가하면

,

`mycursor.execute('INSERT INTO sometable VALUES(?, ?, ?, ?, ?, ?)', T) 

원하는 구문에 가까운 될 것입니다 - T 여섯 개 항목이 (그리고 sometable 여섯이있는 경우 물론, 열). 각 ?은 자리 표시 자이며 해당 항목으로 바뀝니다. mycursor은 커서의 인스턴스 여야합니다. myconnection.cursor에 대한 이전 호출에서 얻은 것일 수도 있습니다. 여기서는 myconnection이 올바른 인수기와 함께 사용중인 DB API 모듈에서 connect에 대한 적절한 호출로 작성된 Connection 인스턴스입니다.

약 100 배 더 많은 코드 및 DB 스키마를 보여 주면서 달성하려는 목표를 정확히 말해 주시면 전체적으로 말하면 더 유용하고 구체적인 항목이 될 수 있습니다. 당신이 제공하는 정보의 엡실론 양은 우리가 집단적으로 말할 수있는만큼 많습니다 ;-).

+1

+1은 부분적으로 질문되고 대부분 추측 된 질문에 대한 놀랄만 한 답변입니다. –

+0

예! 좋은 대답! :) –

0

아마도 cursor.executemany가 필요한 것일까요?

는 사용자가 DB에 관련 행 자체가 null 를 입력 파이썬 것 jreg 아무것도 를 입력 didnt는 가정 또는 내가 문제에 실행됩니다?

NULL을 사용할 수 없다면 경고 또는 오류가 표시됩니다.