MySQL的隐藏换行符的处理
(1)在设计数据库字段的时候,把需要获取手机号的字段设置为int(11),原意是要取11位数的,结果发现所有的手机号码,都变成了2147483647
,顿时觉得很奇怪,以为是程序有问题,最后发觉是数据库设计的问题。因为有符号整数的最大值为
2147483647,所以最后决定把数据库的结构变化下,把int(11)变为char(11)才搞定。
(2)数据库中有几个字段的值总是有换行符存在,通过phpmyadmin进行搜索,接着通过update dbName set field = replace(field,"\n",""),替换了换行符后,在把数据通过CVS导出的时候,数据的值还是换行了,百思不得其解。然后我在打算通过sql导出部分数据进行测试的时候,结果发现问题了,隐藏的换行符是\r,所以当你的字段值的最后一个字符是\r时,比如你的field的值看起来是"abc",,select * from dbName where field='abc',你会发觉怎么也搜索不到,必须要使用select * from dbName where field like 'abc%',才可以找到。这个时候你需要用
update dbName set field = replace(field,"\r",""),然后你就可以使用select * from dbName where field='abc'搜索到相应的记录了。
相关文档:
一、数字类型
所谓的“数字类”,就是指 DECIMAL 和
NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位(包括小数点)占一个字节的存储空间,因此这种类型耗费空间比较大。但是它的一个突出的优点是小数的位数固定,在运算中不会“失 ......
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import jxl.*;
public class ImportExcel {
public static void main(String[] args) {
File importExcel = new File("D:\\test\\test.xls");
try {
// 数据库连接
Class.forNa ......
当注射mysql库的输入点的时候,我们可以通过version()/user()/database()/password()等内置函数来得到mysql的相关信息,其实我们在注射的时候可以利用mysql内置的变量来得到更多的mysql信息
其中version()可以写成@@version来把version当做变量来读取,这样一样可以得到,其他的内置是不可以写成变量的形式.
大家都应该用过利 ......
登录mysql slave服务器,执行show slave status命令,一般显示以下参数的状态;
Slave_IO_State: Waiting for master to send event
Master_Host:192.168.0.1
Master_User:repl_user
Master_Port:3306
Connect_Retry:60
Master_Log_File:mysql-bin.000010
Read_Master_Log_Pos:2562541
Relay_Log_File:mysql-r ......
今天调程序从数据库里取数据,一直去不出来,把日志里打出来的sql放到数据库里去执行,却又能
取出数据来,很是郁闷。
数据库是mysql的,一共128个库,通过某个字段分库。
后来发现要查的这条数据的分库字段被改过,按照程序里执行的去查,他就去了另外一个库 ......