Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベースで沼った話
Search
K1mu21
March 12, 2024
Programming
0
68
データベースで沼った話
めぐろLT#8の資料です
K1mu21
March 12, 2024
Tweet
Share
More Decks by K1mu21
See All by K1mu21
dependabotを導入して失敗した話
k1mu21
0
130
Rust勉強会1回目の資料
k1mu21
0
56
ギャレトレ勉強会
k1mu21
0
56
リプレイスでやったこと
k1mu21
1
69
Cloudflareいいぞ
k1mu21
1
120
静的解析ツールを導入した話
k1mu21
1
220
WebGLを触ってみよう
k1mu21
1
51
GoのAirを使ってみた話
k1mu21
0
130
学生から社会人1年目を通して
k1mu21
2
240
Other Decks in Programming
See All in Programming
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
620
Deno Tunnel を使ってみた話
kamekyame
0
290
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
マスタデータ問題、マイクロサービスでどう解くか
kts
0
170
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
450
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
690
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
560
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Developing static sites with Ruby
okuramasafumi
0
340
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
150
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
590
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
100
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
99
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
48k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
100
The agentic SEO stack - context over prompts
schlessera
0
570
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
So, you think you're a good person
axbom
PRO
0
1.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Statistics for Hackers
jakevdp
799
230k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
2
74
Transcript
データベースで 沼った話
自己紹介
• 木村 宗吾(k1mu) • 所属 ◦ 株式会社ラクーンホールディングス技 術戦略部 • 領域
◦ バックエンド(+フロントエンド) • 言語 ◦ 業務 ▪ Java PHP ◦ 業務外 ▪ Go C(++) • X ◦ @detunote
なぜこの話をするのか • テーマが初めてのLTとの事で、せっかくなら1年目として印象に残ったことを話す と面白いのでは • DBを触る方は多いと思うので、知らなかったのであればこれからの知見として ほしい
DBに関して
皆さんDBは何を使った事があります?
今回の説明で使うDB
沼った問題
前提 (テーブル)
前提 (データ)
テーブルをUPDATE UPDATE users SET name = '木村' WHERE id =
3; ID3の名前を木村に変更するUPDATEを実行する
結果 ID3の名前が変わっている MySQL ORACLE
別のSQLエディター 等で確認 Oracleの方ではID3の Nameが変わっていない ORACLE MySQL
内容が反映されていな い...!?
最後にCommitした?
解決方法 UPDATE users SET name = '木村' WHERE id =
3; commit;
結果 別のエディターで見ても データが入っていて UPDATEもされている。
DBに反映された!
原因 • コミットしていなかったため、利用中のトランザクションでしかUPDATEが反映さ れていなかった。 • 正直MySQL = ORACLE のように考えていた。 ◦
MySQLなどにはAuto Commitがあり、標準ではONになっているので最後に自分で Commitを 明示的に宣言する必要がない。 ◦ OracleにもAuto Commitがあるが標準ではOFFになっている。
他にも • バージョンによってOracleにはオートインクリメントがない ◦ シーケンスを利用して連番を生成する必要がある。 • LimitがないのでRowNumを利用して行数を制限 • SELECT句にGROUP BY句にない列を含めることができるが、その列は集約関
数の中で使用される必要がある。 • Oracleでは空文字はNullと同等に扱える
仕様はちゃんと 調べてから使おう
宣伝 弊社のconnpassページ https://raccoon-holdings.connp ass.com