Msql 問題(持續更新)

2022-07-16 04:12:09 字數 3987 閱讀 2095

1. update、delete 操作

【錯誤內容】:error code: 1093. table '表名' is specified twice, both as a target for 'update' and as a separate source for data

【錯產生經過】:update t_test1 set col1= col1_value where val1 in(select val1 from t_test2 group by val1);

【解決辦法】:update t_test1 set col1= col1_value where val1 in(select * from (select val1 from t_test2 group by val1) as t);

2.tinyint 範圍

tinyint使用1位元組儲存數字,帶符號的範圍是-128到127。無符號的範圍是0到255。不要想當然的就以為999用tinyint能存下,使用之前,還是要好好調查下的。

1.truncate刪除後,如果再插入,標識列從1開始vsdelete刪除後,如果再插入,標識列從斷點開始

2.delete可以新增篩選條件vstruncate不可以新增篩選條件

3.truncate效率較高

4.truncate沒有返回值vsdelete可以返回受影響的行數

5.truncate不可以回滾vsdelete可以回滾

update tablea ppa left

join tableb csb on csb.supplier_id =

ppa.supplier_id

set ppa.supplier_nature = csb.supplier_nature,ppa.opening_name =

csb.opening_name,

ppa.bank_addr

= csb.bank_addr,ppa.agent_bank = csb.agent_bank,ppa.remark=

'update

'where ppa.audit_status =

0and ppa.mark =

0;

#

7574662

mysqldump

-uroot -proot -h 127.0.0.1

--default-character-set=utf8 dbname tablename --where="type=2" > e:\tablename.sql

用法參考:7574662

ubuntu下mysql遠端訪問

第一步:

vim

/etc/mysql/mysql.conf.d/mysqld.cnf找到bind-address =

127.0.0.1

注釋掉這行,如:#bind

-address =

127.0.0.1

或者改為: bind

-address =

0.0.0.0

重啟 mysql:sudo sudo

/etc/init.d/

mysql restart

第二步:

授權使用者能進行遠端連線

>

grant

allprivileges

on . to root@"%" identified by "password" with

grant

option

;grant

allprivileges

on . to root@"%" identified by "cloudfort" with

grant

option

;>flush privileges;

mysql-server 5.7.16

/etc/mysql/

mysql.conf.d

gedit mysqld.cnf 檔案加入如下內容:

修改完儲存後先執行:service mysql stop

service mysql start

然後進入mysql>ststus;

1、複製表的結構

create table 表名 like 舊表;

2、複製表的結構+資料

create table 表名 select 查詢列表 from 舊表【where 篩選】;

問題:the server time zone value 'öð¹ú±ê׼걼ä' is unrecognized or represents more than one time zone....

解決方案:

show variables like

'%time_zone%';

set global time_zone=

'+8:00

';

#有結果

select id from emp order

by id limit 100,10

;#有結果

select

max(id) from emp order

by id limit 0,10

;#null 說明:

select

max(id) from emp order

by id limit 100,10

;#解決方案:用子表巢狀查詢。有結果

select

max(id) from (select id from emp order

by id limit 100,10) a;

select

*from

tablename

where id in (select id from tablename limit 0,5);#

1235

- this version of mysql doesn'

t yet support

'limit &

in/all/any/some subquery'

#解決方案1:通過使用偽表的方式,進行表連線操作。

#解決方案2:將in語句裡面的查詢再包裝一層

explain 的結果可知,方式1較方式2效率更好些

問題 持續更新

第三方庫 fno objc arc 深拷貝 淺拷貝 copy,mutablecopy kvc mvc 愛限免中星星個數的問題 首先必須先清空 asi封裝的兩個問題 block 聯想 c語言的函式指標 函式指標的宣告 首先要區分好變數名和資料型別 拷貝 加括號 換名 加星號。通過指標呼叫函式 指標名 ...

pytest問題持續更新

1.在python中如果在子類中重寫了父類的方法,而又需要執行父類的該方法,可以用super 子類名,self 方法名 來在子類中重新執行該方法 2.mysqldb問題 在查詢時不能拿到當前資料的狀態,記錄的status已經更改,但沒有查到 解決 python引用的mysqldb需要在每次執行操作後...

Xcode問題集錦(持續更新)

前言 正文 1 如何完全解除安裝xcode?對於當下最新的xcode 4.5而言,這個問題似乎太過簡單。xcode 4.5就像windows下的綠色軟體,不需要執行解除安裝程式,只需要把應用程式中的xcode拖進廢紙簍,再把 library developer資料夾刪掉即可。對於xcode 4.5之...