LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 765|回复: 3

[求助]mysql创建table的default NULL

[复制链接]
发表于 2006-6-8 13:35:47 | 显示全部楼层 |阅读模式
CREATE TABLE `ftpquotalimits` (
`name` varchar(30) default NULL,
......

请问:`name` varchar(30) default NULL 与 `name` varchar(30) NOT NULL default '' 完全相同吗?
发表于 2006-6-8 14:02:49 | 显示全部楼层
  1. mysql> create table u1 (name varchar(10) default NULL);
  2. Query OK, 0 rows affected (0.00 sec)

  3. mysql> desc u1;
  4. +-------+-------------+------+-----+---------+-------+
  5. | Field | Type        | Null | Key | Default | Extra |
  6. +-------+-------------+------+-----+---------+-------+
  7. | name  | varchar(10) | YES  |     | NULL    |       |
  8. +-------+-------------+------+-----+---------+-------+
  9. 1 row in set (0.00 sec)

  10. mysql> create table u2 (name varchar(10) NOT NULL default);
  11. ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
  12. mysql>
复制代码


实验表明,这句是错误的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-8 17:57:44 | 显示全部楼层
你是说这一句是错的吗?
mysql> create table u2 (name varchar(10) NOT NULL default);

我给出来的那一句的 default 后面可是有两个单引号的哦!
`name` varchar(30) NOT NULL default ''
mysql> create table u2 (`name` varchar(10) NOT NULL default '');
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-8 17:59:10 | 显示全部楼层
thanks anyway.

根据楼上的实验表明:default NULL 的值就是 NULL,而default ''的值是空。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表