UPDATEの基本
MYSQLのUPDATE
【やりたい事】
データの更新
外部キー制約された複数テーブルをJOINしてデータを更新したい
■今回学ぶ事
基本の構文 |
■分かった事
親子のテーブルにUPDATE cascade制約が付いている場合、親のカラムを更新すれば
外部キー制約がついた「子テーブルのカラム」は自動で更新されます。
CONTENTS |
■ポイント
update joinをする場合、SELECT文で一度投げてみる。
UPDATE文を作って投げる。 でOK
1.UPDATEとは
■構文
UPDATE テーブル名 |
SETで更新するカラムと、値を指定。
■事例
UPDATE users |
WHEREをしっかりとつけよう。
■複数のカラムを更新
UPDATE users SET name = 'John', age = 25 WHERE id = 1; |
UPDATE文を実行する前には必ずバックアップを取るようにしましょう。また、UPDATE文で誤ってデータを更新してしまった場合に備えて、トランザクションを使用することを検討すると良いでしょう。
2. 複数のテーブル
JOINを使う
複数のテーブルのカラムを更新するには、JOIN句を使用してテーブルを結合する必要があります。(updateの制約がない場合)
今回は3つのテーブルをJOINしてみます。
■構文
UPDATE table1
JOIN table2 ON table1.id = table2.id
JOIN table3 ON table2.id = table3.id
SET table1.column1 = 'new_value1',
WHERE table1.id = 'some_id'; |
■USINGを使う
UPDATE table1
SET table1.column1 = 'new_value1',
WHERE table1.id = 'some_id'; |
■解説
1、まず、テーブルを結合させます。
2.SET句でテーブルに入れる愛艇を
3.where句で更新する行をしていする
3. 構文について
■update join
$query=$this->db->query(" |
1.結合条件を上に書く
2.SET句でデータを入れる
3.whereで条件をしてい
■他には
$this->db->where('company_id', $post_data_company); |
■CASCADE制約が付いている場合
親テーブルを更新するだけで、子テーブルに紐づいているカラムも更新されます。
これがcascadeの良い部分です。
更新についての考察
会社名を変える場合、親の会社名テーブルをupdateすれば、カスケード制約された子テーブルの必要な部分は、制約によって自動で更新されます。
まとめ
WHEREがいらない。
書き方に種類がある。
updateのcascde制約がついている場合、親のカラムを更新すれば、子も更新ができる。(変更をする場合など)
業務内容に合わせて、更新をする事。
無理せず、楽しく、生産的に!!ご相談は下記まで
この記事を読んだ人は、こんな記事も読んでいます
■最新
外部結合
結合したテーブルへのupdate
結合したテーブルへのinsert
■データの置き換え
■PhpMyadmin
SQL文を入れる
データを消す
検索する
■csv
■基本の操作02■
制約について知ろう
ビューとは何か?
アップデートについて
■ 設計について■
UMLとは何か?
ER図を覚えよう
■アンチパターン
論理削除
ジェイウォーク(交差テーブルを作らない)
1文字エイリアス
全部小文字
複数列属性(マルチカラムアトリビュート)
パスワード
フラグの闇
■アップロード