бд sqlite3 и он заменяет предыдущие данные, как сделать так, чтобы он в эту колонку с данными именно добавил данные, а не заменял новые данные на предыдущие?
вот код - cur.execute("UPDATE user SET cash = :cash, shares = :shares WHERE id = :id", data)
con.commit()
к примеру в колонке shares у меня есть данные aapl Apple inc 3 400$ и я хочу туда именно добавить данные отделяя запятой snp 500 4 5990$, чтобы на выходе было aapl Apple inc 3 400$, snp 500 4 5990$
А не так чтобы он заменил aapl Apple inc 3 400$ на snp 500 4 5990$
я понимаю что это sqlite3 но думаю синтаксис одинаковый
Вы хотите странного от реляционной бд. Так делать не надо, у вас очевидно проблемы с дизайном вашей схемы. Но если очень хочется, то чтобы «добавить» через запятую, вам нужно всю финальную строку с вот этой запятой и всем остальным положить в переменную shares
просто приходится, делаю приложение где пользователь может купить акции, и после покупки нужные данные акций которые он купил добавить в портфель к предыдущим купленным акциям
Это не так должно выглядеть, потому я и говорю, что у вас проблема с дизайном схемы
Там же число....
Не, там в колонке строка, в которой имя инструмента «Apple Inc» плюс количество и цена сразу
Дело в том что в sqlite есть такая особенность что там нет численных типов в данных и данные интерпретируются в том виде в котором требует операция в которой эти данные участвуют
А это я не видел что то
Вот колонка шеяз это нарушение первой нормальной формы реляционной таблицы это очень грубая ошибка Так что скорее переделывай свою базу данных
Третью нормальную форму гугли и приводи к ней
Нарушение первой нормальной формы реляционных таблиц
Ну это гораздо хуже это Первая Форма нарушена не третье без третьей формы ещё можно как-то жить а вот без первой невозможно вообще
Обсуждают сегодня