MySQL数据库常见问题(二)

前言

常见问题记录。

1、MySQL数据库忘记密码时如何修改

参看链接https://jingyan.baidu.com/article/454316ab4e9e65f7a7c03ad1.html

2、mysql插入数据反斜杠消失

问题描述:

MySQL 中带有反斜杠的内容入库后,发现反斜杠无故失踪了(俗话说被吃掉了)

例:插入

insert into tb('url') values ('absc\eeee');

结果数据库里的内容是:absceeee(反斜杠没了呢)

解决方案:

用 addslashes() 、mysqli_escape_string() 等函数进行处理,也就是在插入数据库前,把内容处理一下,如:

$cc = addslashes('absc\eeee');
insert into tb('url') values ($cc);

或者多加一个反斜杠。

发生了什么:

MySQL 在插入数据库的时候,会自动去除转义字符也就是反斜杠 "\",addslashes()、mysqli_escape_string() 使用这些函数可以在反斜杠前再加个反斜杠,也就是成了 absc\\eeee,在入库的时候第一个反斜杠被认为是转义字符,第二个反斜杠被认为是常规内容,所以去除了第一个反斜杠,保留了第二个,看到的结果是反斜杠插进去了。

参看链接:http://php-note.com/article/483.html

3、Rowid和Rownum

Rowid和Rownum对于数据库开发人员来说基本很少用到,因为在企业数据库开发中大多都是进行数据批处理,但是对于其他数据库人员来说还是会用到的。

rowid和rownum都是虚列,但含义完全不同。rowid是物理地址,用于定位oracle中具体数据的物理存储位置,而rownum则是sql的输出结果排序。通俗的讲:rowid是相对不变的,rownum会变化,尤其是使用order by的时候。

rowid 用于定位数据表中某条数据的位置,是唯一的、也不会改变。

rownum 表示查询某条记录在整个结果集中的位置, 同一条记录查询条件不同对应的 rownum 是不同的而 rowid 是不会变的。

4、

posted @ 2020-03-18 17:03  慎终若始  阅读(106)  评论(0编辑  收藏  举报