MySQL提供了两个通配符与LIKE操作符一起使用:百分比 %和下划线_。
- percent(%)通配符:允许您匹配任何零个或多个字符的字符串。
- 下划线(_)通配符:允许您匹配任何单个字符。
MySQL提供了两个通配符与LIKE操作符一起使用:百分比 %和下划线_。
字段太多,超过了 行记录的 总容量,报错:
The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
解决方案:
把字段类型,修改为 text
update table1 t1 ,table2 t2 set t1.field1 = t2.field2 where t1.id = t2.id
=== MongoDB 概述 ===
百度百科:mongodb(分布式文档存储数据库)
在MySQL中创建函数时出现这种错误的解决方法:
set global log_bin_trust_function_creators=TRUE;
如果忘记了MySQL的root密码,可以用以下方法重新设置:
1、 KILL掉系统里的MySQL进程;
killall -TERM mysqld
2、用以下命令启动MySQL,以不检查权限的方式启动;
safe_mysqld --skip-grant-tables & # 注意:执行后再按 回车键
MySQL SELECT ... FOR UPDATE 的 Row Lock 与 Table Lock
上面介绍过SELECT ... FOR UPDATE 的用法,不过锁定(Lock)的数据是判别就得要注意一下了。由于InnoDB 预设是Row-Level Lock,所以只有「明确」地指定主键,MySQL 才会执行 Row lock (只锁住被选取的数据) ,否则MySQL 将会执行 Table Lock (将整个数据表单给锁住)。
在修改/增加表字段的时候,发现很慢,
show processlist; 时, Waiting for table metadata lock 能一直锁很久。
alter table的语句是很危险的,在操作之前最好确认对要操作的表没有任何进行中的操作、没有未提交事务、也没有显式事务中的报错语句。如果有alter table的维护任务,在无人监管的时候运行,最好通过lock_wait_timeout设置好超时时间,避免长时间的metedata锁等待。