- ベストアンサー
insertについて
レコードをinsertする際に複数ある値の内、一つの値を別のテーブルにある値をinsertしたいのですが、その場合、SQL文はどのように書けばいいのでしょうか? 前提として型や長さなどは同一です。 mysql5です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
INSERT INTO USER VALUES (1234,(SELECT name FROM PASS WHERE id=1234),'アドレス') みたいな書き方でよいでしょう。 ただし、正規化の観点から他のテーブルで管理されているデータを 別のテーブルに埋め込むのはあまりよい方法だとはおもいません。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
もう少し具体的な例をあげてもらったほうが、フォローしやすいかと。 微妙に日本語として意味が通らない部分もあるので・・・。 補足お願いします
補足
大変失礼しました。 たとえば TABLE USER ┌─┬──┬────┐ │id│name│address │ └─┴──┴────┘ TABLE PASS ┌─┬──┬──┐ │id│name│pass│ └─┴──┴──┘ このようなTABLEがあったとして TABLE USERに レコードを追加する際にTABLE PASSのidをキーにPASSのnameの値を挿入したいのです。addressの値は直接入力された値などを挿入する。 (とりあえず考えたTABLEなので必要性などの矛盾は無視してください。すいません。)