在某些情况下,mysql隐含地改变在一个create table语句给出的一个列说明。(这也可能在alter table。)长度小于4的varchar被改变为char。如果在一个表中的任何列有可变长度,结果是整个行是变长的。因此, 如果一张表包含任何变长的列(varchar、text或blob),所有大于3个字符的char列被改变为varchar列。这在任何方面都不影响你如何使用列;在mysql中,varchar只是存储字符的一个不同方法。
mysql实施这种改变,是因为它节省空间并且使表操作更快捷。选择一种表格类型。timestamp的显示尺寸必须是偶数且在2 ~ 14的范围内。如果你指定0显示尺寸或比14大,尺寸被强制为14。从1~13范围内的奇数值尺寸被强制为下一个更大的偶数。你不能在一个timestamp列里面存储一个文字null;将它设为null将设置为当前的日期和时间。因为timestamp列表现就是这样,null和not null属性不以一般的方式运用并且如果你指定他们,将被忽略。describe tbl_name总是报告该timestamp列可能赋予了null值。mysql将其他sql数据库供应商使用的某个列类型映射到mysql类型。如果你想要知道mysql是否使用了除你指定的以外的一种列类型,在创建或改变你的表之后,发出一个describe tbl_name语句即可。如果你使用myisampack压缩一个表,可能会发生改变某些其他的列类型。
http://www.bkjia.com/phpjc/532071.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/532071.htmltecharticle在某些情况下,mysql隐含地改变在一个create table语句给出的一个列说明。(这也可能在alter table。)长度小于4的varchar被改变为char。如果在一...