FAQ: Manipulation - Constraints

This community-built FAQ covers the “Constraints” exercise from the lesson “Manipulation”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Web Development
Data Science

Learn SQL

FAQs on the exercise Constraints

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

In the lesson we deleted rows from the celebs table, but after the final exercise, the database schema still lists four rows. Why? Thank you.

If there is a constraint violation from attempting to insert data into a table that doesn’t fit the constraints, will an error message appear or will that data simply not be entered?

This is important because if the data isn’t entered and there is no error message, the developer may not know that some data wasn’t placed into the table.

1 Like

I think we removed all rows that had no information on the Twitter handle. If you
SELECT * FROM celebs;
you’ll see that only 1 row is left. We removed all the others because we only added the Twitter handle for Taylor Swift.

At least that’s how I understand it

This part of MySQL Documentation may answer your question.

1 Like

NULL vs. NOT NULL:
can you add just NULL? If so, does NULL allow no information and NOT NULL not allow no information?

Can constraints be added to an already existing table? Or do they have to be defined at table creation?

1 Like

Can somebody help me, I didn’t understand the difference between UNIQUE & PRIMARY KEY, thanks.

2 Likes

Hi guys! In the constraints lesson when we run the mentioned command, why is the number of rows showing as 1 instead of 0? We did not insert any data into the table yet.

Hello,
I had inserted all the code required but instead of ‘Grammy’ I typed “Grammy” with double quotes and it showed me the error text “Make sure the columns have appropriate constraints set.”.
With single quotes it all works ok.

Is that a bug?

Thank you!

Also, i have some questions.
I have typed this code:

DROP TABLE celebs;

CREATE TABLE awards (
  id INTEGER PRIMARY KEY,
  recipient TEXT NOT NULL,
  award_name TEXT DEFAULT 'Grammy'
);

INSERT INTO awards
VALUES (1, "Jaja Bings", "Best Emperor Award");

INSERT INTO awards
VALUES (2, "Gogo Jiji", "");

INSERT INTO awards
VALUES (3, "", "Best City Award");

SELECT * FROM awards;

and it outputs:

So the questions are:

  1. Why it allows us to write NULL in the “recipient” column and not giving “constraint violation”?
  2. Why it is not showing us “Grammy” as default in the “award_name” column if the value is NULL (when we write “” or NULL itself)?

And also a little sidenote:
if we change id text to “id TEXT PRIMARY KEY” and write

INSERT INTO awards
VALUES ("", "Jaja Bings", "Best Emperor Award");

INSERT INTO awards
VALUES (NULL, "Gogo Jiji", "");

INSERT INTO awards
VALUES (NULL, "", "Best City Award");

that would give us

where all ids are NULL.

  1. Is that how it’s supposed to work in majority DBMSs?

Will be very grateful for your answers!

agreed; can anyone help clarify this?