Я хочу иметь таблицу SQL с двумя столбцами. Один является ключом в другой таблице, другой содержит строковый литерал. Идея состоит в том, что номера телефонов можно вводить либо точно (в этом случае используется идентификатор в таблице телефонной книги), либо в качестве подстановочного знака (в котором используется строковый литерал).
Это означает, что один столбец в таблице будет содержать значение, а другой - NULL.
Можно ли ограничить таблицу таким образом, что один столбец должен иметь значение, а другой - NULL? Если оба столбца имеют значение NULL или оба имеют значение, строка недопустима.
У меня такое ощущение, что MySQL не может этого сделать (так как у него, кажется, нет исчерпывающего набора инструментов, когда речь идет об ограничениях), но это не помешает спросить.