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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
K1mu21
March 12, 2024
Programming
88
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
データベースで沼った話
めぐろLT#8の資料です
K1mu21
March 12, 2024
More Decks by K1mu21
See All by K1mu21
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
320
dependabotを導入して失敗した話
k1mu21
0
180
Rust勉強会1回目の資料
k1mu21
0
89
ギャレトレ勉強会
k1mu21
0
87
リプレイスでやったこと
k1mu21
1
100
Cloudflareいいぞ
k1mu21
1
160
静的解析ツールを導入した話
k1mu21
1
250
WebGLを触ってみよう
k1mu21
1
66
GoのAirを使ってみた話
k1mu21
0
170
Other Decks in Programming
See All in Programming
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
120
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
2
320
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
850
今さら聞けない .NET CLI
htkym
0
190
Flow は今どうなっているか
mizdra
PRO
0
390
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
690
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
180
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
源内ハンズオン概要編
hideg
0
170
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
5分で問診!Composer セキュリティ健康診断
codmoninc
0
990
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Done Done
chrislema
186
16k
The agentic SEO stack - context over prompts
schlessera
0
860
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Rails Girls Zürich Keynote
gr2m
96
14k
YesSQL, Process and Tooling at Scale
rocio
174
15k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Designing Experiences People Love
moore
143
24k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.3k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
470
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