Можно в гугл таблицах сделать для столбца уникальные значения как в mysql?

Так что бы к примеру столбец D с названием user_id могло добавляться только уникальное значение 1, 2, 45, 56, Но снова 1 или 45 нельзя добавить

По примеру из mysql

cursor.execute('''
CREATE TABLE admin (user_id INT UNIQUE)
''')

Вот таким скриптом добавляются данные в таблицу. User_id может попадаться повторный. И мне нужно что бы данные в таком случае не добавлялись в таблицу. Т.е. только один пользователь с одинаковым user_id. Можно что бы данные обновляли старые значения на новые если это проще.

values2 = [[nameshe, numbershe, adresshe, user_id]]

    value_range_body = {
        'majorDimension': 'ROWS',
        'values': values2
    }

    service.spreadsheets().values().append(
        spreadsheetId=users_id,
        valueInputOption='RAW',
        insertDataOption='INSERT_ROWS',
        range='A:D',
        body=value_range_body
    ).execute()

Ответы (1 шт):

Автор решения: contributorpw

Таблицы Гугл не имеют ключей уникальности, присущих таблицам СУБД.

Даже больше, любая запись в Таблицу ведет проверку только доступа и валидности типов данных.

По поводу типов данных, обратите внимание, что вы используете valueInputOption='RAW', т.е. вставлять данные как есть. Но даже если использовать 'USER_ENTERED', это все равно будет обходить проверки данных в самой Таблице.

Т.о. все что случается с Таблицей и данными происходит после успешной записи в нее.

Единственный способ, как мне кажется, это использовать колбэки вашего кода для проверки данных, а уж потом вести запись.

Возможно, это вообще не лучшая идея производить такие манипуляции.

Стоит отметить, что, например, в Google Apps Script есть метод getUuid(), который часто применяется для уникализации записей. Может быть, вам стоит рассмотреть какой-то вариант с генерацией ключа, а уже после проверять данные на нормальность.

→ Ссылка