와... 정말 험난한 하루였다.
시간은 한정되어 있는데, 해야할 sprint 는 많음과 동시에 설치까지 안되는...
정말 완전히 멘탈이 망가지는 하루였다고 볼 수 있다.
애초에 내가 mysql 설치를 잘못했던 것인지, SQL learn 때는 문제없던 Mysql이 특히 오늘...
아침 8부터 말썽인것이다...
1045 에러가 무진장 뜨는데, 그걸 해결해보겠다고 비밀번호 변경을 했는데 설정을 잘못하고 나와서 비밀번호를 분실하고, 또 그걸 초기화하고, 다시 시도해보다가 분실해서 들어가지지도 않고..
결국에는 삭제후 재설치를 해보는데 잔재가 남아서 다시 삭제하고, 재설치후에 비밀번호와 권한을 다시설정하고... 굉장히 험난했다.
사실 이번 스프린트를 통해 얻은것은 뭐 DataBase 와 관련된 쿼리짜기가 아니라 세팅을 어떻게 하는지가 중요한부분이라는걸 여실히 깨달았다.
어설프게 세팅을 하고 파일을 잘못 연결시키면, 진짜 한두시간이 아니라 6~7시간이 날라가버릴수도 있기 때문에 요구조건에 맞춰서 제대로 설치를 하고 연동을 해야한다는것... 여실히 깨달았다.
Cmarket DataBase 는 미리 구성되어있는 시드 파일이 존재했고,
그것과 mysql 을 연동하여 server 부문을 구축하여 화면을 연동시키는 시스템이다.
작성한 모든 코드를 공개할수는 없기에, 유어클래스에서 내가 새롭게 깨달은 부분을 한번 블로깅 하고자한다.
과연, 여러 개의 레코드를 한번의 쿼리로 테이블에 저장하려면 어떻게 해야 하는가??
이와 관련된 자료를 보기 전까지 나는 한번의 쿼리로 한개의 레코드를 저장하는 방법은 알고있었지만,
여러개의 레코드를 한번에 저장하는 방법은 알지 못했다.
그저 "어... 배열형태로 넣어야되나...?" 하고 그냥 추상적으로 떠올리기만 했었는데,
유어클래스에서 예시로 좋은 쿼리를 제공해주어서 그를 블로깅 해본다
var sql = "INSERT INTO customers (name, address) VALUES ?";
var params = [
["John", "Highway 71"],
["Peter", "Lowstreet 4"],
["Amy", "Apple st 652"],
["Hannah", "Mountain 21"],
["Michael", "Valley 345"],
["Sandy", "Ocean blvd 2"],
["Betty", "Green Grass 1"],
["Richard", "Sky st 331"],
["Susan", "One way 98"],
["Vicky", "Yellow Garden 2"],
["Ben", "Park Lane 38"],
];
con.query(sql, [params], function (err, result) {
if (err) throw err;
console.log("Number of records inserted: " + result.affectedRows);
});
다음과 같은 형식으로 각각의 변수에 쿼리와 관련된 String 혹은 배열을 선언하여 쿼리에 넣는 식으로 유어클래스에서는 정보를 제공해주고있다.
사실 시간에 너무 쪼들린지라 테스트를 모두 통과하지도 못했고, 감도 제대로 오진 않지만...
오늘 저녁시간을 투자하여 계속해서 고민을 해봐야겠다.