条件を分岐した更新と新規作成
caseを利用した処理
複数テーブルに更新をする場合の処理は、どうやらcase式で書いていける感じです。
■caseで書いた場合
CASE (SELECT company_id FROM company_t WHERE company_id = ?) THEN company_t (company_id, company_name) VALUES (?, ?)
INSERT INTO school_t (company_id, school_id, school_name) VALUES (?, ?, ?)
-- 既存の会社で、新しい塾を登録する場合 (SELECT school_id FROM school_t WHERE school_id = ?)
THEN
-- 既存の会社で、既存の塾を更新する場合 (SELECT * FROM school_t WHERE company_id = ? AND school_id = ?)
THEN WHERE company_id = ? AND school_id = ?
VALUES (?, ?, ?) |
■switch
switch ($action) { |
switchで書くと、ネストが深くなってしまい、かなり面倒になるような気がします。
まとめ
他にも学ぼう
■ 基本編 ■
■基本操作■
データを追加する(INSERT)
更新する (UPDATE)
削除について(DALETE)
CURDについて
■基本の操作02■
NOT NULL設定
ビューとは何か?
アップデートについて
■ 設計について■
正規化をしよう
UMLとは何か?
ER図を覚えよう
■アンチパターン
論理削除
ジェイウォーク(交差テーブルを作らない)
1文字エイリアス
全部小文字
複数列属性(マルチカラムアトリビュート)
パスワード
フラグの闇
一緒に学習しましょう!!学習仲間を募集しています。