목록db/mysql (2)
개발 일지
데이터베이스에 새로운 데이터를 삽입하는 경우, 타 쿼리문 혹은 로직에서 삽입된 데이터의 pk를 사용해야하는 경우가 있다. 하지만 pk는 대부분 auto increament를 사용하여 테이블에 삽입되는 순간 지정되기 때문에 삽입후에 해당 테이블에서 다시 가져와야한다. 이때 LAST_INSERT_ID()를 사용하면 조금 더 편하게 해당 pk 값을 가져올 수 있다. LAST_INSERT_ID()란 가장 최근에 성공적으로 수행된 INSERT 구문의 첫번째 AUTO_INCREMENT column의 값을 반환하는 mysql 함수이다. 여기서 유의해야할 부분은 해당 함수가 반환하는 값이 INSERT 구문의 첫번째 AUTO_INCREMENT column의 값이라는 점인데 이 말은 곧 하나의 쿼리문에서 여러개의 row를..
pymysql 사용시 작성되는 sql 문장에 고정된 값이 아닌 변수를 통해 데이터 값을 넣어야하는 경우가 있다. 이때 사용되는 것이 parameter placeholder이다. mysql의 경우 parameter placeholder로 %s를 사용하여 sql문을 만들고 execute()를 사용해 %s에 들어갈 값들을 지정해준다. 만약 여러개의 parameter placeholder가 필요한 경우, 해당 parameter placehoder에 대응하는 값들을 튜플에 순서대로 나열하여 사용할 수 있다. 유의할 점은 parameter placeholder는 string formatting에 사용되는 %d 등과는 다른 개념으로 변수의 형태와는 관계없이 동일하게 사용된다. def user_info(user_idx..