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

MySQL和SQLServer在插入数据上的差别

环境:MySQL Sever 5.1 + SQLServer 2008 R2

问题:MySQLSQLServer在插入数据上的差别

         先看两张图:

         MySQL:


         SQLServer:


       在MySQL里创建表,主键自增,在插入数据时,不指定列名(表示对每个字段都赋值),会报列数不匹配,指定列名后插入正常;而在SQLServer里,表的主键同样是自增,不指定列名却可以正常插入。

      附SQL:

      MySQL


create table tb_user(id int primary key auto_increment,name varchar(20) not null,password varchar(16) not null);

         SQLServer


create table tb_user(id int primary key identity,name varchar(20) not null,password varchar(20) not null);


       总结:使用命令行插入数据时,如果是对每个字段赋值,在MySQL里要指定列名,而在SQLServer里不用。可见不同的数据库对SQL的支持不同,平时多注意这些差别,并注意总结。还要提醒大家一点,使用数据库,尽量不要使用图形界面,使用多了,真的会让你变笨,而且对SQL的掌握也没有帮助。建议采用命令行对数据库进行操作。