Как я могу убедиться, что он принимает только один символ для этого поля
SQLite не проверяет ограничения длины, определенные на уровне типа, как указано в документации для типов :
(...) Обратите внимание, что числовые аргументы в скобках , следующие за именем типа (например: "VARCHAR(255)
") игнорируются SQLite - SQLite делает не накладывать никаких ограничений на длину (кроме большого глобального ограничения SQLITE_MAX_LENGTH
) на длину строк, больших двоичных объектов или числовых значений.
Таким образом, вы не можете применять на уровне базы данных. Таким образом, вам необходимо обеспечить это через ваши взгляды и т. Д.
Однако мы можем, как говорит @ Ilja Everilä , использовать ограничение CHECK
:
CREATE TABLE IF NOT EXISTS Teacher_Table(
Teacher_ID INTEGER PRIMARY KEY,
TFirst_Name VARCHAR(25) NOT NULL,
TLast_Name VARCHAR (25) NOT NULL,
Gender CHAR(1) NOT NULL <b>CHECK (length(Gender) < 2)</b>,
Home_Address VARCHAR (50) NOT NULL,
Contact_Number VARCHAR (14) NOT NULL
)