@kevus

Как дополнить такой SQL запрос?

Здравствуйте.
Есть такой SQL запрос:

INSERT INTO db (name,f,link,time) VALUES ('%name%','%price%','%link%','%date%');


(name - PRIMARY KEY)
Задача такая. Дополнить запрос таким образом, что бы в "f" и "time" добавлялись новые данные, не перезапись новыми, а именно добавлялись.

Так например при первом запрос
f=text1
time=15:58:00

При втором
f=text2
time=15:59:00

Результат
f=text1|text2
time=15:58:00|15:59:00

Спасибо!

ps: Знаю что date\time не принимают такой формат. Они имеют атрибут в моем случае VARCHAR.
Да и вообще, вкурсе что не самая лучшая структура для хранения данных, но так надо :(
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Вероятно, что-то типа этого:
INSERT INTO db (name, f, link, time) VALUES ('%name%', '%price%', '%link%', '%date%') 
ON DUPLICATE KEY UPDATE f = CONCAT_WS('|', f, '%price%'),  time = CONCAT_WS('|', time, '%date%')
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Stqs
senior software developer
kevus,

как то так?

INSERT INTO db (name,f,link,time) VALUES ('%name%','%price%','%link%','%date%') 
    ON DUPLICATE KEY UPDATE f=CONCAT_WS('|', f, '%price%');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы