读书人

mysql创建表时default约束后面是字符

发布时间: 2012-06-03 16:59:40 作者: rapoo

mysql创建表时,default约束后面是字符串要不要加引号?
新手诚请前辈指点

mysql创建表时,default约束后面的默认值是字符串,要不要加引号?

应该用下面哪一个呢?

1.CREATE TABLE test (name VARCHAR DEFAULT "ZhanSan"); 双引号

2.CREATE TABLE test (name VARCHAR DEFAULT 'ZhanSan'); 单引号

3.CREATE TABLE test (name VARCHAR DEFAULT ZhanSan); 无引号



[解决办法]
看字段类型了,字符串类型的当然要加上引号。
[解决办法]
前两个都可以


mysql> create table test_a(name varchar(10) default 'abc');
Query OK, 0 rows affected (0.01 sec)

mysql> create table test_b(name varchar(10) default "abc");
Query OK, 0 rows affected (0.00 sec)

mysql> create table test_c(name varchar(10) default abc);
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 'abc)' at line 1
mysql>
[解决办法]
单双引号均可。


其实楼主为什么不象二楼一样自己亲自动手测试一下呢?
[解决办法]
建议尽量用单引号,那个貌似更加通用一些
[解决办法]
两种引号都可以的,单引是常用是因为有时在宿主语言里,把sql语句用双引括起来了,这时sql里要用引号,就只能单引了。
[解决办法]
尽量用单引号规范语句规则。

读书人网 >Mysql

热点推荐