0
まず、このトピックのタイトルで申し訳ありませんが、より関連性の高いものを見つけることができませんでした。INSERT + SELECT:INの結果に応じてXエントリを挿入する
私の場合は、私は2つのテーブル、1列Value
を含む多くのcolumsのものを持っているということであり、第二は、3つの列で構成されています。この表で
mysql> describe s_attrib;
+-------------+-------------+------+
| Field | Type | Null |
+-------------+-------------+------+
| Login | varchar(32) | NO |
| Type | enum | NO |
| Value | varchar(64) | NO |
+-------------+-------------+------+
3 rows in set (0.00 sec)
mysql> select * from s_attrib LIMIT 0,4;
+----------+-----------+---------+
|Login | Type | Value |
+----------+-----------+---------+
| login_1 | exception | value_1 |
| login_1 | exception | value_2 |
| login_2 | exception | value_3 |
| login_3 | exception | value_4 |
+--------------------------------+
、値がユニークです。ログインには多くの値を含めることができますが、値にはログインが添付された値を超えることはできません。私はs_attribテーブルNI特定のログインのために挿入する必要がある値を取得するために何をやったか
は次のとおりです。
mysql> SELECT DISTINCT Value FROM my_table WHERE SOME_BUSINESS_CONDITIONS_HERE;
+---------+
| Value |
+---------+
| value_5 |
| value_6 |
| value_7 |
| value_8 |
+---------+
私は、これらの値は、私のs_attrib
テーブルに存在しないことを知っているので、そこに勝ちました挿入中に何か衝突することはありません。
私は単一のMySQLのリクエストで、やろうとしている何がそのようなthoses値を挿入することです:INSERT INTO ... SELECT
を使用して単一のクエリでそれを行う方法は
INSERT INTO s_attrib (Login, type, value) VALUES ('MyLogin', 'except', 'value_5');
INSERT INTO s_attrib (Login, type, value) VALUES ('MyLogin', 'except', 'value_6');
INSERT INTO s_attrib (Login, type, value) VALUES ('MyLogin', 'except', 'value_7');
INSERT INTO s_attrib (Login, type, value) VALUES ('MyLogin', 'except', 'value_8');
ありますか?
****と同様に。ありがとう、私は何か別のものを試してみましたが動作しませんでしたが、これは仕事でした! –