如果在建立表的时候使用了关键字作为列名,比如Order,To,那么
- SqlServer:可以使用[]或者双引号""将列名围起来
- mySql:使用``将列名围起来
- oracle:使用""将列名围起来
- C# :在拼接sql语句的时候可以用两个双引号将列名围起来,例如下面的代码
var sql = $@"set nocount on insert [表名] (GameName,""Order"",Question,""To"") values (@GameName,@Order,@Item,@Question,@To,@Score,@DataId) select cast(scope_identity() as int)";
ps;
- set nocount on 代表 不返回计数(使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息。)
- cast()函数:
CAST (ex AS type)
//ex:任何有效的sql serve的表达式
//AS:前面是要处理的数据,后面是要转换的数据类型
//type:转换的数据类型,系统自带,不能自定义
- scope_identity():返回操作数据表的最后row的IDENTITY 列的值,自定义增长为1的实际就是返回id