有执行sql条件语句where id in(@参数)的时候,如果处理不当,就会出现问题:如下面这个存储过程: alter proc Web_gettwtwgoldgameserverGoldSell@ID int asdeclare @twgoldsellID nvarchar(1000)select @twgoldsellID=twgoldsellID from twgoldgameserver where ID=@IDset @twgoldsellID=replace(@twgoldsell
sql server在导入数据的时候,有时候要考虑id不变,就要先取消自动增长再导入数据,导完后恢复自增. 比如网站改版从旧数据库导入新数据库,数据库结构不相同,可能会使用insert into xx select ..from yy的语句导入数据. 每次都在sql studio里面手动修改太麻烦,不如写两个语句来的方便,将语法记录下来,所谓好记性不如烂笔头,一面日后又忘记了: SET IDENTITY_INSERT 允许将显式值插入表的标识列中. 语法 SET IDENTITY_INSERT
Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2,添加新主键字段: ALTER TABLE `table_name` ADD `id` MEDIUMINT( ) NOT NULL FIRST; 3,设置新主键: ALTER TABLE `table_name` MODIFY COLUMN `id` MEDIUMINT( ) NOT NULL AU
向sql传递数组或List,mybatis使用foreach解析,如下: 需求: 传入多个id查询用户信息,用下边的sql实现: select * from user where id in(1,10,24); 1.在QueryVo类中定义: private List<Integer> ids; public List<Integer> getIds() { return ids; } 2.在UserMapper接口中定义方法: public List<User> fi
今天使用 insert into select 时出现了这个异常,感觉很诡异,去metalink查了下资料,找出了错误原因,记录下来. SQL> CREATE TABLE test_baser01( ID NUMBER NOT NULL, NAME ), age NUMBER, sex NUMBER, comments ) ); 表已创建. SQL> CREATE SEQUENCE test_baser01_s; 序列已创建. SQL> INSERT INTO Test_Baser01
SQL架构 Create table If Not Exists stadium (id int, visit_date DATE NULL, people int) Truncate table stadium insert into stadium (id, visit_date, people) values (') insert into stadium (id, visit_date, people) values (') insert into stadium (id, visit_
基础篇:MySql架构与存储引擎 逻辑架构图: 连接层: mysql启动后(可以把mysql类比为一个后台的服务器),等待客户端请求,当请求到来后,mysql建立一个一个线程处理(线程池则分配一个空线程,当然也可使用nio线程模型.),每个线程独立,拥有独自内存空间.当请求为select请求则没有关系,但是请求为update时,多线程同时修改一块内存,就会引发一系列问题,由此引出 “锁“的概念. 查看mysql当前连接数: show VARIABLES like '%max_connection