日期:2014-05-16  浏览次数:21099 次

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里要用引号,就只能单引了。
------解决方案--------------------
尽量用单引号规范语句规则。