MySql - при вставке дубликата ключа с добавленной строкой - PullRequest
2 голосов
/ 13 декабря 2008

Как вставить из одной таблицы в другую и добавить дубликат ключа строка в новую строку?

Если я получил таблицу со значениями:
а
б
с

и хотите вставить табличное значение:
а

Я хочу добавить строку как 'x', чтобы получить таблицу со значениями:
а
б
с
ха

1 Ответ

2 голосов
/ 13 декабря 2008
INSERT INTO aatest
SELECT IF(COUNT(a2.letter)=0,'a','xa')
FROM aatest a1
LEFT JOIN aatest a2 ON a1.letter = a2.letter OR a2.letter IS NULL
WHERE a2.letter = 'a'

Буквально сделает то, что вы просили ... но это не правильное решение, если у вас нет уникальной проблемы, которую вы пытаетесь решить. Он потерпит неудачу, если в списке снова появится «a», потому что «xa» уже будет там. Решение с двумя запросами было бы намного проще, если вы выполняете это в PHP или что-то в этом роде.

Надеюсь, это поможет ... если вы предоставите более подробную информацию, я смогу быть более полезным.

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