首页
关于
Search
1
在投射和录制时显示敏感信息写给TeamViewer,anydesk,向日葵
8,614 阅读
2
sublime 3155-3175 LICENSE
7,910 阅读
3
mysql存储过程&时间累加插入
7,753 阅读
4
永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。
4,486 阅读
5
mysql-workbench中duration fetch的含义
4,460 阅读
ubuntu
linux
sublime
php
mysql
JS
CSS
其他
chrome
redis
登录
Search
标签搜索
mysql
curl
grep
journalctl
rename
You can't specify target table
only_full_group_by
Sub-process
警示
dropbox
mtr
curl抓取重定向
floor
intval
ceil
round
pixmap
adwaita
date.utc
gmmktime
五好的Book
累计撰写
194
篇文章
累计收到
31
条评论
首页
栏目
ubuntu
linux
sublime
php
mysql
JS
CSS
其他
chrome
redis
页面
关于
搜索到
48
篇与
的结果
2023-12-22
临时表的用法之一
对应的错误信息:{message type="error" content=" Error Code: 1093. You can't specify target table 'a' for update in FROM clause"/}SQL语句:update arc a set title=(select title from arc where id=a.cpid) where bid=1 limit 600;我的意图是 更新一本书的章节标题,标题取之与 arc表中另外一本书的章节标题,运行即报上面的错误,{lamp/}错误原因是:MySQL 不允许在 UPDATE 查询中直接引用正在被更新的表,以避免潜在的数据一致性问题。{lamp/}一番操作后得到的解决方案是 临时表法,解决思路:把需要的数据存入到临时表,这样就不存在引用同一张表的问题了。CREATE TEMPORARY TABLE temp_table AS SELECT id,title FROM arc WHERE bid = 2; update arc a set title=(select title from temp_table where id=a.cpid) where bid=1 limit 600;执行成功后再把创建的临时表删除 DROP TEMPORARY TABLE IF EXISTS temp_table;
2023年12月22日
19 阅读
0 评论
0 点赞
2023-04-12
concat 连接的数据变成 blob类型 的解决方法
concat(sum(if(tid=1,1,0)),'|',sum(if(tid=0,1,0)))这个数据会被mysql 转化成blob 类型这不是你希望的结果试试这样cast(concat(sum(if(tid=1,1,0)),'|',sum(if(tid=0,1,0))) as char)cast的用法 Cast(字段名 as 转换的类型 )
2023年04月12日
37 阅读
0 评论
0 点赞
2022-05-24
union 连接 实例
select * from table where company=A order by rand() limit 2 union select * from table where company=B order by rand() limit 2 该语句可以实现 随机取出 AB公司各2条相关数据。
2022年05月24日
400 阅读
0 评论
0 点赞
2022-01-11
Linux 下 超大文件的编辑
应用场景:在此之前我也没有想到我会为了编辑一个54G大的 sql备份文件而想的头昏脑胀,线上有一个 大概120G的数据库,通过使用mysqldump 导出然后压缩 得到一个 16G的压缩文件,然后传出到本地,再解压,就得到了一个 54G的超大文件。往常,通过使用 mysql -uroot -p dbname< back.sql 就可以顺利恢复了,不过问题就出在这里, 恢复的时候报了一个错误,大概的意思是 不支持 ngram插件本地是一个 群晖的NAS 安装了MariaDB套件,即兼容mysql的一个产品,然而他并不支持 ngram (全文索引),这可如何是好啊?不要急不要燥,该如何导入这个数据进数据库呢, 既然他不支持,那么删除掉这个 定义的语句 即可。说干就干, vi back.sql 等的我花都谢了, 还在读文件,读54G 的文件。。。。 尝试sed 替换相应的内容, 这里进展不顺利。这里不得不说, vi 操作 大文件还是很有用的, 只是操作 54G,太为难他了, 那就小一点,他总可以了吧。尝试了各种 想直接编辑的方法都失败了 ,不得不退而求其次了,那就是把54打散切割, 再合并。split -C 1024M /volume1/g.sql sql vi sqlaa #操作对应的内容后,保存退出 cat sql*> db.sql不过经过实测,mysql -uroot -p dbname< back.sql 导入到MariaDB速度比较慢, 导入了2天,也还没导入完整,上次我记得是导入到mysql还挺快的。还有 一种办法通过 source 导入,进入mysql后通过mysql的终端 输入 source /sql文件的路径; 等待完成。
2022年01月11日
665 阅读
0 评论
0 点赞
2022-01-10
mysql8 安装后root登录不了
今天又在一台ubuntu上安装mysql8,这次不一样, 默认不是用系统的root帐号登录的,上次写 mysql8 安装与更改datadir数据目录 时是使用系统的root帐号操作的, 其中进展很顺利,没有遇到mysql登录不上root的问题, 不过这次现实俨然打脸了我,mysql -uroot -p 使用了很多方法都登录不了。在中文搜索里, 搜了一堆都没有用,用 /etc/mysql/debian.cnf 里自动创建的用户 登录进去后Userpluginrootauth_socketmysql.sysmysql_native_passworddebian-sys-maintmysql_native_password会看到 root的 plugin 和 下面2个不一样, 验证方式不一样,对很多资料也都提到了这一项,然后就开始教大家怎么怎么登录进root。不过今天我这里 并不打算这样做(修改plugin的auth_socket),我们来想一想mysql 为什么要这样做呢?其实不能登录只是我们的使用方式不对,不信 你尝试下这样,看看能登录不方式一 : 采用 ubuntu的 root 帐号登录系统 然后再用 mysql -uroot -p 方式二: 采用 sudo mysql -uroot -p 你会发现 这2种方式 都能成功登进mysql的 root 帐号里去。所以类似的如果需要让ubuntu的系统用户能直接登进 mysql 还可以这样做mysql> USE mysql; mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY 'YOUR_PASSWD'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost'; mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER'; mysql> FLUSH PRIVILEGES; mysql> exit; sudo service mysql restart 所以 如果你不想用默认的 auth_socket 方法验证密码, 修改成 mysql_native_password 也是可以的。mysql> USE mysql; mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> exit; 参考:资料
2022年01月10日
2,658 阅读
0 评论
1 点赞
1
2
...
10