MySQL: ограничение набора столбцов таким образом, чтобы хотя бы один не был NULL

Я хочу иметь таблицу SQL с двумя столбцами. Один является ключом в другой таблице, а другой содержит строковый литерал. Идея состоит в том, что номера телефонов можно вводить либо точно (в этом случае используется идентификатор в таблице телефонной книги), либо как подстановочный знак (в котором используется строковый литерал).

Это означает, что один столбец в таблице будет содержать значение, а другой будет содержать NULL.

Можно ли ограничить таблицу таким образом, чтобы один столбец имел значение, а другой должен быть NULL? Если оба столбца имеют значение NULL или оба имеют значение, то строка недействительна.

У меня такое чувство, что MySQL не может этого сделать (поскольку кажется, что у него нет исчерпывающего набора инструментов, когда дело доходит до ограничений), но не повредит спросить.

6
задан GordonM 8 April 2011 в 11:39
поделиться