Bruce Feist wrote:

Grégoire Dubois wrote:

Victoria Reznichenko wrote:

On Friday 04 April 2003 15:37, Grégoire Dubois wrote:

In the following table, I declare ID as a PRIMARY KEY.  Is it then
necessary to add the parameters NOT NULL AUTO_INCREMENT?

CREATE TABLE company (
   ID INT NOT NULL AUTO_INCREMENT,

name VARCHAR(30),

admin_ID INT,

   PRIMARY KEY ID,
   INDEX admin_ID,
);

Or can I just declare the table like that? Does creating a primary key
on an int immediatly involve this one to be not null, and to
auto-incrИment?



NOT NULL - yes, but if you want to have AUTO_INCREMENT column you should declare it as AUTO_INCREMENT.


Thank you very much for your reply.
But I read that a PRIMARY KEY is a "globally unique identifier" for a table. As it is an identifier, it should never be null (ok, that's what you said), and it should be unique... Then, if I don't set AUTO_INCREMENT to my column ID, it still should be unique, and then increment itself... No?


Not all unique identifiers are computer-generated. If you leave off AUTO_INCREMENT but still make it a primary key, uniqueness will be enforced on whatever the application(s) enter(s) as the value, but nothing will be plugged in.

Bruce Feist



Ok, I'm not sure Iunderstood the real (technical) reason, but I understood that I had to use the AUTO_INCREMENT to be sure of a nice functionning of my database.
Thank you very much all.



-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]



Reply via email to