环境: MySQL Sever 5.1 SQLServer 2008 R2 问题: MySQL 和 SQLServer 在插入数据上的差别 先看两张图: MySQL: SQLServer: 在 MySQL 里创建表,主键自增,在插入数据时,不指定列名(表示对每个字段都赋),会报列数不匹配,指定列名后插入正常;而在 SQ
环境:MySQL Sever 5.1 + SQLServer 2008 R2
问题:MySQL和SQLServer在插入数据上的差别
先看两张图:
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的掌握也没有帮助。建议采用命令行对数据库进行操作。