The issue with timestamp is this: You can only have one timestamp with a default of the current date.
My app has two fields in one table Created_date datetime default now() Last_update datetime default now() This doesn't work with timestamp because timestamp doesn't support two columns with default current_timestamp. Additionally, it looks like if you default to current_timestamp then any time the record is modified, that value is changed. While tinker-toys were wildly popular (I had them), they are wholly unsuited for large scale building projects. George Sexton MH Software, Inc. http://www.mhsoftware.com/ Voice: 303 438 9585 > -----Original Message----- > From: Jay Blanchard [mailto:[EMAIL PROTECTED] > Sent: Thursday, June 09, 2005 5:56 AM > To: George Sexton; mysql@lists.mysql.com > Subject: RE: Seriously.. When are we going to get subqueries?! > > [snip] > I think MySQL has a little ways to go yet before I would subjectively > call > it best. > > I posted twice to the list with questions about porting my application > that > runs on (SQL Server, Oracle, PostgreSQL, Sybase SQL Anywhere, > MS Access, > and > DB2) to MySQL. No one on the mysql list, or the internals > list responded > to > my pretty basic issues: > > 1) Why can't I declare a datetime field with DEFAULT NOW() > 2) Since the SQL standard states that identifiers are not case > sensitive, how can I use the DB without case sensitivity, when I don't > have > authority to change the system wide lowercase setting? I wouldn't have > authority to change the setting in a hosted environment. > > I have to say, MySQL still looks like a tinker-toy to me. > [/snip] > > Hi George, > > Allow me to reiterate that I was trying to inject some humor into what > was fast becoming a rude situation. Having said that.... > > The list(s) where you post is not comprised of MySQL employees, it is > made up of other users/volunteers who seek help and/or can be > of help to > others using the product. The list is often graced by several authors > and people who are intimately invoved with MySQL development and we > appreciate what little time they do have to offer for free. Sometimes > these folks do not have the answers you are seeking. Let me > see if I can > help some with your issues. > > 1. I am supposing that with DEFAULT NOW() you are wanting the datetime > field to be populated with the current datetime when the tuple is > populated. (This is what I read from your question.) From > http://dev.mysql.com/doc/mysql/en/create-table.html "For date and time > types other than TIMESTAMP, the default is the appropriate ``zero'' > value for the type. For the first TIMESTAMP column in a table, the > default value is the current date and time. See Section 11.3, > "Date and > Time Types"." Declaring the column type to be TIMESTAMP may > be all that > you need to do. I'll test... > > CREATE TABLE `tblTimeDate` ( > `id` int(11) NOT NULL auto_increment, > `theDate` date NOT NULL default '0000-00-00', > `theTime` time NOT NULL default '00:00:00', > `theDateStamp` datetime NOT NULL default '0000-00-00 00:00:00', > `theTimeStamp` timestamp(14) NOT NULL, > PRIMARY KEY (`id`) > ) TYPE=MyISAM > > After doing a couple of inserts... > > INSERT INTO tblTimeDate(theDate) VALUES ('2005-06-09'); > > The table returns.... > > +----+------------+----------+---------------------+----------------+ > | id | theDate | theTime | theDateStamp | theTimeStamp | > +----+------------+----------+---------------------+----------------+ > | 1 | 2005-06-09 | 00:00:00 | 0000-00-00 00:00:00 | 20050609063428 | > | 2 | 2005-06-09 | 00:00:00 | 0000-00-00 00:00:00 | 20050609063438 | > +----+------------+----------+---------------------+----------------+ > > You'll note that theTimeStamp column has data inserted into it without > my prodding. I got this information by searching the online manual, I > have never used this MySQL feature. I hope that this is what you were > looking for. > > On case sensitivity (I found this in the online manual after two > clicks), http://dev.mysql.com/doc/mysql/en/name-case-sensitivity.html > > Here is the first paragraph and subsequent note.... > > "In MySQL, databases correspond to directories within the data > directory. Tables within a database correspond to at least one file > within the database directory (and possibly more, depending on the > storage engine). Consequently, the case sensitivity of the underlying > operating system determines the case sensitivity of database and table > names. This means database and table names are not case sensitive in > Windows, and case sensitive in most varieties of Unix. One notable > exception is Mac OS X, which is Unix-based but uses a default > filesystem > type (HFS+) that is not case sensitive. However, Mac OS X > also supports > UFS volumes, which are case sensitive just as on any Unix. See Section > 1.7.4, "MySQL Extensions to Standard SQL". > > Note: Although database and table names are not case sensitive on some > platforms, you should not refer to a given database or table using > different cases within the same query. The following query would not > work because it refers to a table both as my_table and as MY_TABLE: > > mysql> SELECT * FROM my_table WHERE MY_TABLE.col=1;" > > There is a lot more on the issue of identifier case sensitivity. > > Since I have never been concerned with either of these issues I had to > rely on a couple of things to come up with these answers. One, my past > database experience with MySQL and other databases. And B, my > ability to > type some simple search terms into my browser address bar. (For > instance, when searching for answers about identifiers I first typed > http://www.mysql.com/identifiers into the address bar. When the page > appeared one of the first links that I saw concerned case > sensitivity.) > > One final note concerning your comments. Tinker-Toys were > among the most > popular toys of the mid to late 20th century and have made a > resurgence > early in this century. Your comparison of MySQL to Tinker-Toys in this > light is spot on as MySQL has become one of the most popular databases > this century. It is still a growing, evolving, maturing product whose > feature list, it has been widely acknowledged, is not the same as some > other database products. But MySQL is catching up fast! > > I sent this back to the list as well, in hopes that others may benefit > from the questions and answers. Please let me know if I can be of any > further assistance. > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: > http://lists.mysql.com/[EMAIL PROTECTED] > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]