Creating a Primary Key after table created

I am using PHPMyAdmin to administer my database and I am trying to add a primary key.  The primary key did not come over in the conversion from Access to MySQL for some reason (used Access2MySQL program).  When I attempt to add the primary key from PHPMyAdmin I get the error:

"#1171 - All parts of a PRIMARY KEY must be NOT NULL;  If you need NULL in a key, use UNIQUE instead"

The problem is that there are no rows that have a null value in the column I am trying to declare as the primary key.  When I do a SQL query that reads:

SELECT *
FROM employee
WHERE employee_id is NULL;

I get 0 rows returned.  Anyone have any suggestions?

Thanks.

Jayce

PS.  The version of MySQL I am using is 3.23.53-max-nt ... if that makes any difference
LVL 4
llcooljayceAsked:
Who is Participating?
 
cwpCommented:
Using primary keys requires the column to have the "NOT NULL" attribute set (or the "Null" column doesn't have the Yes word in "DESCRIBE employee").

I don't use PHPMyAdmin, so I don't know where, if it is possible, you can set the column attributes, but in SQL code, you'll need to redefine the column:

ALTER TABLE employee CHANGE COLUMN employee_id employee_id INT UNSIGNED NOT NULL;

You should change the "INT UNSIGNED" part to whatever the data type is for the employee_id.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.