Вставить несколько с SELECT - PullRequest
1 голос
/ 30 января 2020

Я пытаюсь использовать INSERT для SELECT DISTINCT, и это то, что я пробовал до сих пор.

INSERT INTO creature_loot_template VALUES (id, 68910, 0, 100, 1, 1, 0, 1, 1, NULL)
SELECT DISTINCT id FROM creature WHERE map = 389;

Так что это пример того, что он должен делать (более 20-40 строк :

INSERT INTO creature_loot_template VALUES (123, 68910, 0, 100, 1, 1, 0, 1, 1, NULL);
INSERT INTO creature_loot_template VALUES (124, 68910, 0, 100, 1, 1, 0, 1, 1, NULL);
INSERT INTO creature_loot_template VALUES (125, 68910, 0, 100, 1, 1, 0, 1, 1, NULL);
INSERT INTO creature_loot_template VALUES (125, 68910, 0, 100, 1, 1, 0, 1, 1, NULL);

Я также пробовал следующие SQL:

INSERT INTO creature_loot_template VALUES ((SELECT DISTINCT id FROM creature WHERE map = 389), 68910, 0, 100, 1, 1, 0, 1, 1, NULL);
SET
@id = (SELECT DISTINCT id FROM creature WHERE map = 389);
INSERT INTO creature_loot_template VALUES (@id, 68910, 0, 100, 1, 1, 0, 1, 1, NULL);

1 Ответ

2 голосов
/ 30 января 2020

Просто укажите нужные значения в SELECT:

INSERT INTO creature_loot_template
    SELECT DISTINCT id, 68910, 0, 100, 1, 1, 0, 1, 1, NULL
    FROM creature
    WHERE map = 389;

Я бы порекомендовал также перечислить все столбцы в INSERT. Это гарантирует, что код делает то, что вы на самом деле хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...