MySQL默认的数据提交操作模式是自动提交模式(autocommit).这就表示除非显式地开始一个事务,否则每个查询都被当做一个单独的事务自动执行.我们可以通过设置autocommit的值改变是否是自动提交autocommit模式.查询当前数据库事务提交方式的命令为: mysql> show variables like 'autocommit'; +---------------+-------+ | Variable_name | Value | +---------------+-----
插入中文数据变成问号,一般都是因为字符集没有设置成utf8的原因 1.修改字符集: ALTER TABLE 表名 MODIFY 列名 类型(50) CHARACTER SET "utf8"; 如:ALTER TABLE t_student MODIFY stuName varchar(50) CHARACTER SET "utf8"; (修改t_student表中的stuName字符集为utf8)
事情的原因是:我执行了一个load into语句的SQL将一个很大的文件导入到我的MySQL数据库中,执行了一段时间后报错"The total number of locks exceeds the lock table size". 首先使用命令 show variables like '%storage_engine%' 查看MySQL的存储引擎: mysql> show variables like '%storage_engine%'; +----------------
创建实验表: CREATE TABLE `a` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` char(50) NOT NULL, `type` char(20) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB: 创建存储语句: delimiter // create procedure insertdata() begin declare i int default 1; while i<10000 do
DROP PROCEDURE IF EXISTS pre;delimiter $$ CREATE PROCEDURE pre ()BEGIN DECLARE i INT DEFAULT 1 ;WHILE i <= 11 DO INSERT INTO t_virtual_prize_details (id_1, id_2 )VALUES (v_1, v_2 ) ;SET i = i + 1 ;ENDWHILE ; end$$ CALL pre () ; DROP PROCEDURE IF EXIS
上次遇到的是向mysql插入中文数据,中文数据乱码了.这次直接就不能插入中文数据了!!!! 参考博文:http://blog.csdn.net/generalyy0/article/details/7598027 总结: ①: 检查数据表所有字段的状态 show full columns from 表名; ②:发现Collation项非utf8,修改它! alter table 表名change 字段名 字段名 varchar(100) character set utf8 collate ut