Size: a a a

2019 December 09

DS

David Shiko in SPb Python
Simon Osipov
Вы храните id одним большим текстом через запятую?
Это я игрался, пытаясь сделать проверку, там integer конечно
источник

DS

David Shiko in SPb Python
Я нашел вот эту популярную статью, но она мне никак не помогла
https://stackoverflow.com/questions/2701877/sqlite-table-constraint-unique-on-multiple-columns
источник

SO

Simon Osipov in SPb Python
David Shiko
Это я игрался, пытаясь сделать проверку, там integer конечно
Не совсем понимаю, в count у вас счётчик лайков/дизлайков, а в message_users_likes_ids что лежит? Один id integer?
источник

DS

David Shiko in SPb Python
Simon Osipov
Не совсем понимаю, в count у вас счётчик лайков/дизлайков, а в message_users_likes_ids что лежит? Один id integer?
Да, колонка count это избыточна, забыл исправить
источник

SO

Simon Osipov in SPb Python
То есть вы всего по одному id храните в колонке список лайкнувших и в списке дизлайкнувших?
источник

DS

David Shiko in SPb Python
Simon Osipov
То есть вы всего по одному id храните в колонке список лайкнувших и в списке дизлайкнувших?
да
источник

SO

Simon Osipov in SPb Python
David Shiko
да
Это так и задумано?
источник

SO

Simon Osipov in SPb Python
Ну рассмотрим ситуацию: у поста два лайка, в счётчике 2, а тут что будет?
источник

DS

David Shiko in SPb Python
Simon Osipov
Это так и задумано?
да
источник

DS

David Shiko in SPb Python
Simon Osipov
Ну рассмотрим ситуацию: у поста два лайка, в счётчике 2, а тут что будет?
2 user_id
источник

SO

Simon Osipov in SPb Python
David Shiko
2 user_id
Каким образом это будет, если вы выше написали то там integer? Или там все таки что то в стиле 5534, 78612, 2234 в виде текстового поля?
источник

DS

David Shiko in SPb Python
Simon Osipov
Каким образом это будет, если вы выше написали то там integer? Или там все таки что то в стиле 5534, 78612, 2234 в виде текстового поля?
Честно говоря не вижу большой разницы.
будут там 2 числа, например 1111 и 2222
источник

SO

Simon Osipov in SPb Python
Создайте таблицу с полем integer и попробуйте в неё записать 3333 <пробел> 2222
источник

DS

David Shiko in SPb Python
Simon Osipov
Создайте таблицу с полем integer и попробуйте в неё записать 3333 <пробел> 2222
Так там в столбик идет
id 1| 1111
id 2| 2222
каждый id - это ряд таблицы
источник

SO

Simon Osipov in SPb Python
David Shiko
Так там в столбик идет
id 1| 1111
id 2| 2222
каждый id - это ряд таблицы
Кажется, у меня не получилось пояснить.
Вот в ваших этих двух строчках id это айдишник строки из posts_table?
Можете показать прям скриншот таблицы? Где для записи id=N записаны несколько айдишников юзеров которые её лайкнули
источник

DS

David Shiko in SPb Python
Simon Osipov
Кажется, у меня не получилось пояснить.
Вот в ваших этих двух строчках id это айдишник строки из posts_table?
Можете показать прям скриншот таблицы? Где для записи id=N записаны несколько айдишников юзеров которые её лайкнули
Я еще не писал боевой вариант, т.к. подметил проблему еще на стадии подготовки. Есть только пилотные варианты.
Скриншот таблицы, результата, или вместе?
источник

SO

Simon Osipov in SPb Python
David Shiko
Я еще не писал боевой вариант, т.к. подметил проблему еще на стадии подготовки. Есть только пилотные варианты.
Скриншот таблицы, результата, или вместе?
сделайте вместе, если несложно
источник

DS

David Shiko in SPb Python
Simon Osipov
сделайте вместе, если несложно
Момент, интерпретатор глючит. Ненавижу штатный питоновский интерпретатор🤬
источник

p

pragus in SPb Python
David Shiko
Момент, интерпретатор глючит. Ненавижу штатный питоновский интерпретатор🤬
ipython/bpython
источник

MA

Maxim Afanasev in SPb Python
David Shiko
cursor.execute(
"""CREATE TABLE IF NOT EXISTS users_ids_table(
id INTEGER PRIMARY KEY,
users_ids INTEGER, UNIQUE(users_ids))""")

cursor.execute(
"""CREATE TABLE IF NOT EXISTS posts_table(
id INTEGER PRIMARY KEY,
message_content_type TEXT NOT NULL,
message_content TEXT NOT NULL,
message_caption TEXT,
message_likes_count INTEGER,
message_dislikes_count INTEGER,
message_users_likes_ids INTEGER NOT NULL,
message_users_dislikes_ids INTEGER NOT NULL,
UNiQUE(message_users_likes_ids, message_users_dislikes_ids))""")
У вас явно проблема со структурой базы. Вы можете написать для каждого поля, для чего оно нужно? Пока выглядит очень странно.
источник