SQLのINSERT INTOに関しての質問です。
例えば
php
1$sql='INSERT INTO data (name, name_y) VALUES (:name, :name_y)'; 2$stmt=$dbh->prepare($sql); 3$params=array(':name' => $name, ':name_y' => $name_y); 4$stmt->execute($params); 5$sql='INSERT INTO concept (tel, email)'; 6$stmt=$dbh->prepare($sql); 7$params=array(':tel => $tel, ':email' => $email); 8$stmt->execute($params); 9$sql='INSERT INTO list (status,time) VALUES (:status, :time)'; 10$stmt=$dbh->prepare($sql); 11$params=array(':status' => $status, ':time' => $time); 12$stmt->execute($params);
といった形で三つのテーブルに書き込むとします。
その際にすべてにIDといったカラムがのデフォルト値がありそちらはAUTO_INCREMENTで数値が1から順番に割り振られています。
これをINNER JOINなどを使いまとめ一度の接続のみで書き込むことは出来るのでしょうか?
また、UPDATEに関しても
php
1$sql='UPDATE data SET name=:name, name_y=:name_y WHERE id=:id'; 2$stmt=$dbh->prepare($sql); 3$params=array(':name' => $name, ':name_y' => $name_y, ':id' => $id); 4$stmt->execute($params); 5$sql='UPDATE concept SET tel=:tel, email=:email WHERE id=:id'; 6$stmt=$dbh->prepare($sql); 7$params=array(':tel => $tel, ':email' => $email ':id' => $id); 8$stmt->execute($params); 9$sql='UPDATE data SET status=:status, time=:time WHERE id=:id'; 10$stmt=$dbh->prepare($sql); 11$params=array(':status' => $status, ':time' => $time ':id' => $id); 12$stmt->execute($params);
こちらも3度の接続に関してもまとめることも可能なのでしょうか?
ご解答宜しくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。