Skip to content

Latest commit

Β 

History

History
30 lines (21 loc) Β· 1.75 KB

go_sqlite.md

File metadata and controls

30 lines (21 loc) Β· 1.75 KB

go sqlite3 μ‚¬μš©

πŸ‘‰ κ°„λ‹¨ν•œ 예제 μ½”λ“œ : SQLite_example.go 뢄석

μ•„λž˜ μ°Έκ³  쀑 'go sqlite example' νŒŒμΌμ„ 기반으둜 λ³€ν˜•ν•΄λ΄„

  • μ˜ˆμ œμ½”λ“œλŠ” sqlite db νŒŒμΌμ„ μƒμ„±ν•˜κ³ , μ—΄κ³ , ν…Œμ΄λΈ”μ„ μƒμ„±ν•œ λ‹€μŒ, 데이터λ₯Ό μ‚½μž…ν•˜κ³ , 좜λ ₯ν•˜λŠ” λ£¨ν‹΄μž„

  • μ˜ˆμ œμ½”λ“œμ—μ„œ μ‚¬μš©λœ ν•¨μˆ˜ 정리 πŸ–₯

    • os.Create("μ›ν•˜λŠ” 파일 이름.db") : μ›ν•˜λŠ” νŒŒμΌμ΄λ¦„μœΌλ‘œ dbλ₯Ό 생성함
    • sql.Open("sqlite3", "./μ›ν•˜λŠ” 파일 이름.db") : μ—΄κ³  싢은 파일의 경둜λ₯Ό νŒŒλΌλ―Έν„°μ— μž…λ ₯ν•˜μ—¬, ν•΄λ‹Ή 파일 μ—΄μŒ
    • createTable ν•¨μˆ˜ : μž…λ ₯받은 db에 ν…Œμ΄λΈ”μ„ μƒμ„±ν•˜λŠ” ν•¨μˆ˜
    • insertUser ν•¨μˆ˜ : db, index, name, password(μƒμ„±ν•œ ν…Œμ΄λΈ”μ— λ§žλŠ” 데이터값)을 μž…λ ₯λ°›μ•„ μ‚½μž…ν•˜λŠ” ν•¨μˆ˜
    • displayUser ν•¨μˆ˜ : μž…λ ₯받은 db의 User ν…Œμ΄λΈ”μ— μžˆλŠ” 데이터λ₯Ό 좜λ ₯ν•΄μ£ΌλŠ” ν•¨μˆ˜

κ΄€λ ¨ν•΄μ„œ λ°œμƒν•œ μ—λŸ¬λ“€ πŸ–₯

  • UNIQUE constraint failed : User.Id

    • 이미 μ €μž₯λ˜μ–΄μžˆλŠ” 데이터 값이 μ€‘λ³΅λ˜λŠ” 경우 λ°œμƒ ❗
    • μ–΄λ–€ μ»¬λŸΌμ— UNIQUE μ œμ•½μ‘°κ±΄μ„ μ„€μ •ν•˜λ©΄, ν•΄λ‹Ήν•˜λŠ” μ»¬λŸΌμ— μ€‘λ³΅λœ 값이 μ €μž₯될 수 μ—†μŒ.
  • no such table : <table_name>

    • ν•΄λ‹Ή db에 <table_name>으둜 된 ν…Œμ΄λΈ”μ΄ μ‘΄μž¬ν•˜μ§€ μ•Šμ•„μ„œ λ°œμƒν•˜λŠ” 문제
    • λ‚˜κ°™μ€ 경우, sql둜 db μƒμ„±ν•˜κ³  μ €μž₯ν•˜μ§€ μ•Šμ€ μƒνƒœμ—μ„œ dbλ₯Ό μ‚¬μš©ν•΄μ„œ μ—λŸ¬κ°€ λ°œμƒν•˜μ˜€μŒ
    • λ˜λŠ” ν•΄λ‹Ή ν…Œμ΄λΈ” 이름에 μ˜€νƒ€κ°€ μ—†λŠ”μ§€ 체크 ν•„μš”

μ°Έκ³  πŸ’«