Как проверить, что значения двух столбцов в таблице sql не дублируются ⇐ Python
-
Гость
Как проверить, что значения двух столбцов в таблице sql не дублируются
Я подключил базу данных src к назначению. Каждая база данных содержит столбцы time и id. Я хочу проверить, что в src нет строки с той же парой time, id, что и в destination.
Я попробовал следующий запрос:
select (s.time, s.id) из src.table_name как s где (s.time, s.id) в (выберите (d.time, d.id) из table_name как d) лимит 1 но там написано E OperationalError: sub-select возвращает 1 столбец, а ожидается 2. Я тоже попробовал
select (s.time, s.id) из src.table_name как s где (s.time, s.id) в (выберите d.time, d.id из table_name как d) лимит 1 и теперь там написано E OperationalError: неправильно использовано значение строки
Правильный синтаксис
выберите с.время, с.ид из src.table_name как s где (s.time, s.id) в (выберите d.time, d.id из table_name как d) лимит 1 ?
Кажется, это работает, но я не совсем уверен, что это делает то, что я хочу.
Я подключил базу данных src к назначению. Каждая база данных содержит столбцы time и id. Я хочу проверить, что в src нет строки с той же парой time, id, что и в destination.
Я попробовал следующий запрос:
select (s.time, s.id) из src.table_name как s где (s.time, s.id) в (выберите (d.time, d.id) из table_name как d) лимит 1 но там написано E OperationalError: sub-select возвращает 1 столбец, а ожидается 2. Я тоже попробовал
select (s.time, s.id) из src.table_name как s где (s.time, s.id) в (выберите d.time, d.id из table_name как d) лимит 1 и теперь там написано E OperationalError: неправильно использовано значение строки
Правильный синтаксис
выберите с.время, с.ид из src.table_name как s где (s.time, s.id) в (выберите d.time, d.id из table_name как d) лимит 1 ?
Кажется, это работает, но я не совсем уверен, что это делает то, что я хочу.
Мобильная версия