在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ 數(shù)據(jù)庫問答
旖襯 回答

innodb引擎的所有儲存了主鍵ID,事務(wù)ID,回滾指針,非主鍵ID,
他的查詢就會是非主鍵ID也可覆蓋來取得主鍵ID。

也就是說比如你在created_at上建立索引,此時主鍵也是在索引上的。不然你可以試試以下語句

explain select id from tablea where created_at = 1
舊言 回答
SELECT id, CONCAT(
    CASE WHEN A=1 THEN 'A ' ELSE '' END,
    CASE WHEN B=1 THEN 'B ' ELSE '' END,
    CASE WHEN C=1 THEN 'C ' ELSE '' END,
    CASE WHEN D=1 THEN 'D ' ELSE '' END,
    CASE WHEN E=1 THEN 'E ' ELSE '' END)
FROM test2

你好胸 回答
select * from table_1 RIGHT JOIN table_2 ON table_1.id = table_2.uid
where table_1.status = 1 AND table_2.level_id = 1 AND table_2.level_id = 2

這段代碼意思是同一條table2的記錄同時是等級1和等級2,是個假命題。。
改的話需要right join兩次table2

select table_1.* from table_1 
RIGHT JOIN table_2 t2Lv1 ON table_1.id = t2Lv1.uid ON t2Lv1.level_id = 1
RIGHT JOIN table_2 t2Lv2 ON table_1.id = t2Lv2.uid ON t2Lv2.level_id = 2
where table_1.status = 1
GROUP BY table_1.id

大致思路就是這樣

笨尐豬 回答

你可以了解下trigger的用法,但是呢,我個人建議是不要用觸發(fā)器好,用代碼邏輯實現(xiàn),這樣效率上會更高點,而不會給MySQL服務(wù)器造成一定的壓力,如果流量特別大的話

陌璃 回答

1.對于key idx(user_id, user_name)
如果查詢語句是這樣的 select * from mytable where user_id = 1; 這樣索引是生效的.
如果查詢語句是這樣的 select * from mytable where user_name = "tom"; 這樣索引是不生效的.

這是組合索引的最左優(yōu)先原則. 索引的第一個字段必須出現(xiàn)在查詢語句中.
兩個區(qū)別是 : 用user_i字段查詢多還是用user_name字段查詢多.

巴扎嘿 回答

oracle日期類型可以直接加減,沒有add_days這個函數(shù),如:

select sysdate - 1 from dual;

返回結(jié)果是昨天的當前時間點

爆扎 回答

你試試用systemctl這個命令,這個問題可以去deepin bbs論壇提問的。
類似于,

systemctl disable mysqld.service

或者是
mysql.service

關(guān)于systemctlchkconfig的用法區(qū)別,可以參照下網(wǎng)上的文章
http://blog.csdn.net/kenhins/...

舊言 回答

我也碰到類似的警告。 說是某某函數(shù)被棄用。 有些是可以忽略的。

愚念 回答

如果你的庫2就沒有sku表,可以通過mysqldump命令來把庫1中的sku表導(dǎo)出到文件,再把這個文件中的數(shù)據(jù)導(dǎo)入到庫2中即可:

$ mysqldump -uroot -proot --databases db1 --tables sku  >/tmp/sku.sql
$ mysql -uroot -proot db2 < /tmp/sku.sql

如果你庫2本身也有sku表,只是想將庫1中庫2沒有的數(shù)據(jù)更新到庫2,那么首先你得通過insert ... select語句來操作,需要注意,語句最好不要一次性插入10w數(shù)據(jù),最好按一定條件分開,比如id,因為mysql內(nèi)部有一定限制:

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 1 and 10000)
and (db2.sku沒有這條數(shù)據(jù));

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 10001 and 20000)
and (db2.sku沒有這條數(shù)據(jù));

希望能幫助到你。

六扇門 回答

err的翻譯是

The API configuration file does not exist
API配置文件不存在
我建議你直接找后端小伙伴解決這個問題

吢涼 回答
匹配user開頭
RewriteRule ^/user/(.+)$ /user/$1.php [PT,QSA,L]
eg:/user/index    ->    /user/index.php

匹配任意
RewriteRule ^/(.+)/(.+)$ /$1/$2.php [PT,QSA,L]
eg:/admin/ttt    ->    /admin/ttt.php

添加#就變?yōu)殄^點了,不建議這樣做

焚音 回答

好吧,最后在node mysql官方的issues中找了很多例子,結(jié)果發(fā)現(xiàn)如果直接用一條語句的話,很多查詢結(jié)果都是返回一個json或object而不是一個array,所以我最后的做法是這樣

SELECT
posts.post_id,
posts.post_title,
GROUP_CONCAT(tags.tag_name) as tags
FROM posts
LEFT JOIN tags ON posts.post_id = tags.post_id
GROUP BY posts.post_id
LIMIT 0,10

node _sql

const getLists = async (page) => {
  let _sql = `SELECT
              posts.*,
              GROUP_CONCAT(tags.tag_name) as tags
              FROM posts
              LEFT JOIN tags ON posts.post_id = tags.post_id
              GROUP BY posts.post_id
              LIMIT ${(page - 1) * 10},10`
  return dbquery(_sql)
}

返回的結(jié)果

得到了全部tag并轉(zhuǎn)成了字符串類型
圖片描述

澐染 回答

hibernate的查詢是用query對象來進行的,即Query query=session.createQuery(sql),在對query遍歷或者直接轉(zhuǎn)list就行。

情殺 回答

設(shè)置一個定時器,剛開始讓所有的table的div都顯示,在頁面打開若干秒或者毫秒之后,讓不該顯示的div隱藏就好了hide(),目前完美解決,后續(xù)有問題再續(xù)問

熊出沒 回答

你可以看看這篇文章 使 sqlalchemy 數(shù)據(jù) json 化。

當然,如果你要是想學(xué)習(xí) sqlalchemy, 可以看看我的這個項目 sql_to_sqlalchemy

巫婆 回答

py3 必須使用絕對引用了

一般的格式是 from . import 模塊名,最好養(yǎng)成這個習(xí)慣

墨沫 回答

前面啰嗦得太多,我再把問題精簡一下:

如何設(shè)計詞索引,使得 —— 若 將來 改進了分詞算法,在不重建索引的情況下,搜索結(jié)果也能改進?

例如,當詞典沒有“區(qū)塊鏈”一詞時,搜索結(jié)果可能包含大量“區(qū)塊”和“鏈”兩個詞的文檔;當把“區(qū)塊鏈”加入詞典后,在不重建索引的情況下,立即就能找到包含“區(qū)塊鏈”的文檔,排名在包含“區(qū)塊”和“鏈”兩個詞的文檔前面。

喵小咪 回答
都說互聯(lián)網(wǎng)開發(fā)盡量不用外鍵,那么這里的不用外鍵到底代表的啥意思呢?

這里的外鍵指的數(shù)據(jù)庫的外鍵約束。

不用外鍵約束。比如刪除一張表中的數(shù)據(jù)時,如果要級聯(lián)刪除另一張表中關(guān)聯(lián)的數(shù)據(jù),以往是由數(shù)據(jù)庫來級聯(lián)約束的,現(xiàn)在應(yīng)該將其移到程序中由程序來保持數(shù)據(jù)的一致性。

是的。外鍵這種約束關(guān)系不在由數(shù)據(jù)庫幫你保持維護,由應(yīng)用程序維護。

外鍵的定義就是在一個表中的字段是另外一張表中的主鍵。如果僅按照"不使用外鍵"這幾個字的字面理解,就是要把外鍵字段抽取出來放在一張中間表中。簡單說就是都當成多對多來處理。

不是的。怎么建表還是和原來一樣,只不過在需要建立外鍵約束的地方不建立外鍵約束而已。

比如我們原來建表語句是這樣的:

CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `user_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用戶名',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `total_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `user_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `for_indx_user_id` (`user_id`),
  CONSTRAINT `for_indx_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

不是用外鍵約束后:

CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `user_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用戶名',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `total_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `user_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

不適用外鍵約束后,為了加快查詢我們通常會給不建立外鍵約束的字段添加一個索引。

CREATE TABLE `order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `total_price` decimal(10,2) NOT NULL DEFAULT '0.00',
  `user_id` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `idx_user_id` (`user_id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果你理解了,你下面的問題就自然而然不存在了。

避免使用外鍵,可以在插入數(shù)據(jù)時通過程序維持約束關(guān)系。

使用外鍵約束優(yōu)點:

  • 外鍵可節(jié)省開發(fā)量
  • 外鍵能約束數(shù)據(jù)有效性,非法數(shù)據(jù)不能插入

使用外鍵約束缺點:

  • 有額外開銷
  • 主鍵表被鎖定時,會引發(fā)外鍵表也被鎖
  • 刪除主鍵表的數(shù)據(jù)時,需先刪除外鍵表的數(shù)據(jù)
  • 修改外鍵表字段時,需重建外鍵約束

實際開發(fā)中,一般不會建立外鍵約束。

負我心 回答

sql to sqlalchemy 項目,這是基于 MYSQL 的,你要是通過這個練習(xí),你的 sqlalchemy 會飛起來。如果你真需要,我可以給你MySQL的用戶和密碼。別問我是誰,我是雷鋒。

絯孑氣 回答

個人理解如果數(shù)據(jù)庫是這么設(shè)計的話,初衷是讓在應(yīng)用程序中處理:按照逗號分隔,逐條查詢rule表,更常規(guī)的做法是用一個用戶和規(guī)則的關(guān)聯(lián)表。

如果非要用sql做關(guān)聯(lián)查詢,可以用FIND_IN_SET,不過效率不會太高。

select *
from 
(select '1,2,3,4,5' ids) t1 inner join (select 1 id, '張三' name union select 2, '李四') t2 
on FIND_IN_SET(t2.id, t1.ids) > 0