There are versions of the SQL3 document available at
http://www.inf.fu-berlin.de/lehre/SS94/einfdb/SQL3/sqlindex.html and
http://dbs.uni-leipzig.de/en/lokal/standards.pdf, free of charge.

PB

-----
  ----- Original Message -----
  From: Neil Zanella
  To: MySQL Mailing List
  Sent: Wednesday, June 04, 2003 12:03 AM
  Subject: MySQL: standard SQL compliancy: primary keys: default: should be
NOT NULL



  Hello,

  I believe that MySQL is in error in reporting the following message just
  because I did not specify that the PRIMARY KEY should not be NULL. These
  days there are standards and SQL92, AFAIK, specifies that if the primary
  key is not explicitly set to NOT NULL then the RDBMS should automatically
  and silently assume the user means NOT NULL. After all, any half decent
  book on relational databases out there will tell you that primary keys
  cannot be null. So why does MySQL do it this way. By doing this MySQL is
  breaking the portability of my standard SQL code which works so well with
  postgreSQL and Oracle 9i. So why donesn't MySQL play nice and abide to
  the standard? Is this fixed in MySQL 4? I am running MySQL 3.23.54a as
  distributed with Red Hat 9, which, for some reason has not decided to
  update their mysql RPMS to MySQL 4 for that release but I am interesting
  in knowing if this has been fixed in MySQL. I think one of MySQL's goals
  should be to support standards such as SQL92 (if not SQL99). Even if
  internally some things don't work as expected, at a minimum, the
  parsers should be compatible as much as possible, including
  standard data types and assuming primary keys are not null
  by default.

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

  BTW, for those willing to check it out, Part 1 (as well as other parts) of
  the SQL standard are available from http://webstore.ansi.org/ for 18 bucks
  as standard INCITS/ISO/IEC 9075-1-1999. The older standard is also
  available as ANSI INCITS 135-1992 (R1998) at the same price.

  Regards,

  Neil


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



Reply via email to