파이톤에서 INSERT에서 MySQL까지의 표에도 반영되지 않는다.
Python 프로그램에서 사용하는 MySQL 작업에는 Insert가 반영되지 않습니다!!
장래의 공부를 위해 적어 두다.
네, 임시로 썼어요.다른 언어를 사용할 수 있기 때문에 파이썬 생명도 아니다.
이번에는 꼬박 이틀 동안 푹 빠졌다.
MySQL은 왠지 Insert만 반영되지 않습니다!!
이런 프로그램입니다.
CSV 파일을 읽고 MySQL의 데이터베이스 테이블에 저장합니다.
어렵지 않아요.
MySQL의 라이브러리는pytohon-MySQL입니다.
프로그램 시작의 템플릿 테이블을 복사하여 테이블을 만듭니다.import MySQLdb
conn = MySQLdb.connect(host="extdbsrv", db="test", user="user", passwd="xxx", charset="utf8")
cursor = conn.cursor()
sql = "CREATE TABLE test like table_template"
cursor.execute(sql)
템플릿 테이블은 phpMyAdmin으로 생성됩니다.
프로그램이 생성되지 않는 것은 phpMyAdmin이 주석이 달린 표를 만드는 데 편리하기 때문이다.
프로그램을 실행하다.테이블이 정상적으로 복사됩니다.
물론 앞으로도 방송을 이어갈 것이다.
CSV 파일을 열고 한 줄 한 줄 읽고 Insert가 테이블에 표시됩니다.
SQL로 쓰기 어려운 열은 50개입니다.
왜 데이터는 데이터베이스에 쓰지 않습니까!!
프로그램 오류가 발생하지 않았지만 왜 데이터베이스에 반영되지 않고 쓸 수 없습니까?
물론 SQL 오류(MySQL이 토해낸 오류)도 나타나지 않았다.
이전에 테이블 복사가 완료되었으므로 DB에 연결할 수 있으며 쓰기 권한이 있어야 합니다.sql = "INSERT INTO hwdata01 ( id , prefectural_id ) values (NULL,1)"
cursor.execute(sql)
insert 주 키워드만 있는 프로그램이지만 추가 기록이 없습니다...
문제 해결
방송을 보고도 무슨 영문인지 모르겠지만 당황하지 마세요. 한 번의 고장 제거예요.
이런 프로그램입니다.
CSV 파일을 읽고 MySQL의 데이터베이스 테이블에 저장합니다.
어렵지 않아요.
MySQL의 라이브러리는pytohon-MySQL입니다.
프로그램 시작의 템플릿 테이블을 복사하여 테이블을 만듭니다.
import MySQLdb
conn = MySQLdb.connect(host="extdbsrv", db="test", user="user", passwd="xxx", charset="utf8")
cursor = conn.cursor()
sql = "CREATE TABLE test like table_template"
cursor.execute(sql)
템플릿 테이블은 phpMyAdmin으로 생성됩니다.프로그램이 생성되지 않는 것은 phpMyAdmin이 주석이 달린 표를 만드는 데 편리하기 때문이다.
프로그램을 실행하다.테이블이 정상적으로 복사됩니다.
물론 앞으로도 방송을 이어갈 것이다.
CSV 파일을 열고 한 줄 한 줄 읽고 Insert가 테이블에 표시됩니다.
SQL로 쓰기 어려운 열은 50개입니다.
왜 데이터는 데이터베이스에 쓰지 않습니까!!
프로그램 오류가 발생하지 않았지만 왜 데이터베이스에 반영되지 않고 쓸 수 없습니까?
물론 SQL 오류(MySQL이 토해낸 오류)도 나타나지 않았다.
이전에 테이블 복사가 완료되었으므로 DB에 연결할 수 있으며 쓰기 권한이 있어야 합니다.sql = "INSERT INTO hwdata01 ( id , prefectural_id ) values (NULL,1)"
cursor.execute(sql)
insert 주 키워드만 있는 프로그램이지만 추가 기록이 없습니다...
문제 해결
방송을 보고도 무슨 영문인지 모르겠지만 당황하지 마세요. 한 번의 고장 제거예요.
sql = "INSERT INTO hwdata01 ( id , prefectural_id ) values (NULL,1)"
cursor.execute(sql)
방송을 보고도 무슨 영문인지 모르겠지만 당황하지 마세요. 한 번의 고장 제거예요.
불가사의한 현상!autoincreament 개수
CLI 클라이언트 (MySQL 명령줄) 에서 insert와 select를 발견했지만 autoincreament (자동 번호) 가 작동하는 것 같습니다.
python 프로그램에서 insert가 삽입되면 음반이 삽입되지 않지만 id가 확실히 1 증가했습니다.
phpMyAdmin 화면입니다. 하지만 id가 튀었습니다.
이 id는 CLI 고객 작업에 기록됩니다.
나는 갈수록 이해하지 못하겠다.
제출이 안 됐나 봐요.
각종 검색을 하는 과정에서 나는 제출하지 않은 것이 아니냐는 의심이 생겼다.
파이썬을 제외한 다른 언어는 자동으로 파일을 닫거나 DB 제출을 하기 때문에 너무 신경 쓰지 않아도 된다.
신경 안 쓴 건 아니지만 파일을 여는 데도 복수가 있어서 못 봤어요.
프로그램의 마지막에commiit/close 문장을 추가합니다.cursor.close
conn.commit
conn.close
이렇게 해서 방법이 있었으면 좋겠지만 행동에는 큰 변화가 없었습니다...
그렇게 지도 모른다, 아마, 아마...
이틀이 걸려서 기록되지 않은 일을 많이 했어요.
혹시 명령문 뒤에 괄호를 넣으세요.cursor.close()
conn.commit()
conn.close()
결국 내가 생각한 대로 인스타그램에 넘어갔어.
뭐지?별로 신경 안 써. 멋있는 척 안 해.
이렇게 말하기보단 안 쓰면 잘못됐거나 경고를 해줬으면 좋겠다.
파이톤을 사용하는 사람들은 with 문으로 자동으로 제출하라고 하겠죠.
Reference
이 문제에 관하여(파이톤에서 INSERT에서 MySQL까지의 표에도 반영되지 않는다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mighty-n/items/19c737a4a140468409c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
각종 검색을 하는 과정에서 나는 제출하지 않은 것이 아니냐는 의심이 생겼다.
파이썬을 제외한 다른 언어는 자동으로 파일을 닫거나 DB 제출을 하기 때문에 너무 신경 쓰지 않아도 된다.
신경 안 쓴 건 아니지만 파일을 여는 데도 복수가 있어서 못 봤어요.
프로그램의 마지막에commiit/close 문장을 추가합니다.
cursor.close
conn.commit
conn.close
이렇게 해서 방법이 있었으면 좋겠지만 행동에는 큰 변화가 없었습니다...그렇게 지도 모른다, 아마, 아마...
이틀이 걸려서 기록되지 않은 일을 많이 했어요.
혹시 명령문 뒤에 괄호를 넣으세요.cursor.close()
conn.commit()
conn.close()
결국 내가 생각한 대로 인스타그램에 넘어갔어.
뭐지?별로 신경 안 써. 멋있는 척 안 해.
이렇게 말하기보단 안 쓰면 잘못됐거나 경고를 해줬으면 좋겠다.
파이톤을 사용하는 사람들은 with 문으로 자동으로 제출하라고 하겠죠.
Reference
이 문제에 관하여(파이톤에서 INSERT에서 MySQL까지의 표에도 반영되지 않는다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mighty-n/items/19c737a4a140468409c1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
cursor.close()
conn.commit()
conn.close()
Reference
이 문제에 관하여(파이톤에서 INSERT에서 MySQL까지의 표에도 반영되지 않는다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mighty-n/items/19c737a4a140468409c1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)