鍍金池/ 問答/ 數(shù)據(jù)庫問答
礙你眼 回答

async和await傳一個(gè)隱性Promise可以解決雙重回調(diào)問題

巷尾 回答

你可以試試把用戶列表存進(jìn)去 結(jié)構(gòu)類型就變成
id
message_id 信息ID
user_id_list 用戶ID列表

糖豆豆 回答

shell的寫法:

db.<collection>.updateMany({
    quantity: 10
}, {
    $set: { sku: "abc" },
    $inc: { "metrics.orders": 5 }
});

對(duì)照mongoose的API自己改寫一下吧。

貓館 回答

編譯開發(fā)版的 nginx,這里以 github 上的 nginx 源碼鏡像為例

git clone https://github.com/nginx/nginx.git
cd nginx
CFLAGS="-g -O0" ./auto/configure --with-debug --prefix=../etc
make
make install

修改 nginx.conf 配置文件,讓它監(jiān)聽在 8080 端口,并啟用開發(fā)模式

worker_processes  1;
+master_process off;
+daemon off;

http {
   server {
       -listen       80;
       +listen       8080;

此時(shí)運(yùn)行 nginx ,然后用瀏覽器打開 http://localhost:8080/ 確認(rèn)網(wǎng)站運(yùn)行

../etc/sbin/nginx

最后使用 gdb 重新運(yùn)行 nginx

xxx/nginx > gdb ../etc/sbin/nginx
Reading symbols from ../etc/sbin/nginx...done.

(gdb) b main
Breakpoint 1 at 0xNNNN: file src/core/nginx.c, line 196.

(gdb) r
Starting program: ../etc/sbin/nginx
[Thread debugging using libthread_db enabled]
Using host libthread_db library "xxx/lib/libthread_db.so.1".

(gdb) b main
Breakpoint 1, main (argc=1, argv=0xNNNN) at src/core/nginx.c:196

(gdb) list main
191    static char **ngx_os_environ;
192
193
194    int ngx_cdecl
195    main(int argc, char *const *argv)
196    {
197        ngx_buf_t        *b;
198        ngx_log_t        *log;
199        ngx_uint_t        i;
200        ngx_cycle_t      *cycle, init_cycle;

(gdb) print argc
$1 = 1

(gdb) print argv[0]
$2 = 0xNNNN "xxx/etc/sbin/nginx"

gdb 提示

  1. 使用 help 或者 help xxx 獲得命令幫助。
  2. 添加函數(shù)斷點(diǎn)可直接輸入 b <函數(shù)名>,不必找出函數(shù)的文件位置。list 同理。

參考

  1. https://docs.nginx.com/nginx/...
  2. https://nginx.org/en/docs/ngx...
哚蕾咪 回答

有的 但是需要先創(chuàng)建一個(gè)表結(jié)構(gòu),然后用Mysql 內(nèi)部自帶的select ..into outfile把數(shù)據(jù)導(dǎo)出,再用load data導(dǎo)入B就行

吢丕 回答

mysql模擬遞歸查詢
查詢TG下的所有部門,加一個(gè)paths like ',0,1'就可以了。

SELECT id AS ID,pid AS 父ID ,levels AS 父到子之間級(jí)數(shù), paths AS 父到子路徑 FROM (
    SELECT id,pid,
        @le:= IF (pid = 0 ,0,
        IF( LOCATE( CONCAT('|',pid,':'),@pathlevel) > 0  ,
        SUBSTRING_INDEX( SUBSTRING_INDEX(@pathlevel,CONCAT('|',pid,':'),-1),'|',1) +1
        ,@le+1) ) levels
        , @pathlevel:= CONCAT(@pathlevel,'|',id,':', @le ,'|') pathlevel
        , @pathnodes:= IF( pid =0,',0',
        CONCAT_WS(',',
        IF( LOCATE( CONCAT('|',pid,':'),@pathall) > 0  ,
        SUBSTRING_INDEX( SUBSTRING_INDEX(@pathall,CONCAT('|',pid,':'),-1),'|',1)
        ,@pathnodes ) ,pid  ) )paths
        ,@pathall:=CONCAT(@pathall,'|',id,':', @pathnodes ,'|') pathall
    FROM  treenodes,
    (SELECT @le:=0,@pathlevel:='', @pathall:='',@pathnodes:='') vv
    ORDER BY  pid,id
) src
ORDER BY id
伐木累 回答

圖片描述

我的是這樣 通過mysql命令行或者管理工具可以連接,但是通過啟動(dòng)java項(xiàng)目就連接報(bào)錯(cuò)(如圖) 額,什么 鬼呢?
圖片描述

舊酒館 回答

$num = $startotal['startotal']/$selecttotal;
echo is_nan($num) ? 0 : $num;

壞脾滊 回答

找到問題了

$this->pdoStatement->bindParam($name, $value[0], $value[1], $value[2]);

用上面的方法向數(shù)據(jù)庫中類型的clob的字段寫入數(shù)據(jù)時(shí),要綁定數(shù)據(jù)的長度,就是$value[2]的值,這個(gè)值是通過
strlen計(jì)算出來的
這是一個(gè)坑。
舉例說明:
向數(shù)據(jù)庫中寫入數(shù)據(jù)『你好,世界,Hello world.....等等』大量的文本數(shù)據(jù),長度為 50000
第一次寫入,沒有任何問題,
用php從數(shù)據(jù)庫中讀取出來

$content = stream_get_content($row['content']);
echo strlen($content);
//這時(shí)輸出的長度會(huì)小于50000

所以每次更新時(shí),都會(huì)丟失數(shù)據(jù)。。。

解決辦法就是,數(shù)據(jù)提交到后臺(tái)以后,先把大文本base64
然后再計(jì)算長度,再寫入數(shù)據(jù)庫,
至于base64大文本的效率如何,我沒有測(cè)試

孤毒 回答

myeclipse版本太舊 不支持最新版的jar包

涼心人 回答

1,連接數(shù)據(jù)庫時(shí)使用charset='utf8';
2,sql語句使用unicode形式拼接,最后encode成utf-8;

很簡單,直接為這個(gè)UDF加參數(shù)不就行了

淚染裳 回答

mysql.ini文件
sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
改成
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
就會(huì)出現(xiàn)報(bào)錯(cuò)情況

其實(shí)這個(gè)是mysql在幫你把null轉(zhuǎn)換成''

這個(gè)是可以正常運(yùn)行的..是自己測(cè)試數(shù)據(jù)的問題..

浪婳 回答

sql里字符串該用單引號(hào)吧

你試試這個(gè)


riqi=1
uhaoma="fdkflfd sdfldskjfl sdfldsjfl "

sql = 'insert into uhaoma343 (riqi,uhaoma) values({},{})'.format(riqi, '\''+ uhaoma+'\'' )

print(sql)

生成的sql形如:

insert into uhaoma343 (riqi,uhaoma) values(1,'fdkflfd sdfldskjfl sdfldsjfl ')
厭惡我 回答

sql有問題?

試試這個(gè)

SELECT
s.id,
s.name,
s.price,
s.unit
from sample as s where id = 20205

EDITED

應(yīng)該MySQL的bug

https://bugs.mysql.com/bug.ph...
https://bugs.mysql.com/bug.ph...

與你的報(bào)錯(cuò)很類似

terribly wrong...
7ff744872571    mysqld.exe!pow()[pow.asm:1616]
7ff743d8da3a    mysqld.exe!get_sweep_read_cost()[handler.cc:7200]
7ff74434f3a7    mysqld.exe!ror_intersect_add()[opt_range.cc:5440]
7ff7443453a9    mysqld.exe!get_best_ror_intersect()[opt_range.cc:5621]

建議提交Bug

兮顏 回答

DELETE * WHERE [KEY_ID] NOT IN (SELECT MIN(KEY_ID) FROM [TABLE] ORDER BY [KEY])

刪除【table】中除【key】排序最小的 所有數(shù)據(jù)

局外人 回答

一般是utf8mb4_general_ci和utf8mb4_bin,前者不區(qū)分大小寫