티스토리 뷰


sql command-line tool 을 사용하는데, 수정을 자꾸 하다 보니, 같은 command 를 계속 입력하기가 번거로웠다. 그래서 방법을 찾아보니 pipe 를 이용해서 가능하다.

c:\> sqlite3.exe file.db < input.sql

의 방식으로 하면 간단하게 원하는 db 를 만들어 낼 수 있다.

이렇게 만든 DB에 한글 데이터를 UTF-8으로 넣으려고 해서, UTF-8 의 text file 을 만들어서 import 를 해야 했다. 근데, primary key 를 넣게 되면, .import command 에서 datatype mismatch 가 계속 난다.
(한 유저그룹에서 primary key 때문이라고 한다. 이유는 모르겠다.^^;;)

참고로 import 할 UTF-8 text file 은 BOM 이 없이 저장해야 한다. BOM까지 data로 인식해서 읽어들인다.

그래서 primary key 를 쓰지 않고, 대신에 ROWID 를 primary key 로 사용하고 있다. Ref. 1 에 보면 ROWID 에 대한 설명을 볼 수 있다.

 

 

References

  1. ROWIDs and the INTEGER PRIMARY KEY
    http://sqlite.org/lang_createtable.html#rowid
  2. sqllite foreign key data 예제
    http://www.devdaily.com/android/sqlite-foreign-keys-example
  3. UTF-8 console, console2 를 windows7에서 사용하기
    http://superuser.com/questions/122253/how-where-do-you-install-console2-on-windows-7
  4. [sqlite] How to execute SQL Query via text/sql file
    http://www.mail-archive.com/sqlite-users@sqlite.org/msg58209.html
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함