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