I am doing an assignment which is implementing a database that has book, author, publisher and people tables in it.
CREATE TABLE IF NOT EXISTS Author ( author_id INT, author_name VARCHAR(255), books_written VARCHAR(255), gender CHAR(1), birthday DATE, country VARCHAR(100), PRIMARY KEY(author_name) );
I have to put constraint
on the gender attribute of my Author table so that the only characters in a component for this attribute can be ‘F’ or ‘M’. I only thought of CHAR(1) and i know that it is not the solution. How can i do it?
Advertisement
Answer
You can do:
CREATE TABLE Author ( author_id INT, author_name VARCHAR(255), books_written VARCHAR(255), gender char(1) not null, birthday DATE, country VARCHAR(100), PRIMARY KEY(author_name), constraint chk1 check (gender = 'F' or gender = 'M') );
Make sure the column is marked as NOT NULL
as well to ensure the its value is either F
or M
.