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

鍍金池/ 問(wèn)答/ 數(shù)據(jù)庫(kù)問(wèn)答
愚念 回答

1,如果程序不存在分布式,那在程序?qū)用?,直接加鎖,做成單線程,不需要做數(shù)據(jù)庫(kù)表鎖。
2,如果程序是分布式,可以放在緩存里(redis等),然后對(duì)存取緩存的方法加鎖。定時(shí)對(duì)緩存的數(shù)據(jù)同步到數(shù)據(jù)庫(kù)即可。
3,如果非要在mybatis里面做,建議分兩部分語(yǔ)句進(jìn)行調(diào)用。

a:select value from yh for update;
b:update yh set value = value + 1;
懶豬 回答
Db::table(['fa_question '=>'a','think_role'=>'b'])
    ->field('a.id, a.title, a.create_time, a.is_solve, count(b.qid) as answer_count)
    ->where(' a.id=b.qid and a.is_solve=0')
    ->group('b.qid')
    ->order('answer_count desc')
    ->limit(6)
    ->select()

附上手冊(cè),多看看手冊(cè)https://www.kancloud.cn/manua...

互擼娃 回答

1match against

2 SELECT * FROM table WHERE field REGEXP ‘[[]?uid[]]?’;

毀了心 回答

我將congfig文件中的app.config['xxx']修改成['xxx']='xxx'的格式就不會(huì)出現(xiàn)這個(gè)提醒了,例如將
app.config['SECRET_KEY'] = 'hard to guess string'修改為 SECRET_KEY = 'hard to guess string'
不知道原因,但是確實(shí)這樣操作后就沒(méi)有警告了

近義詞 回答

可以嵌套在user表里:
{

'_id':ObjectId("52ffc33cd85242f436000001"),
'name':'Jackey',
backpack: {
    'backpack_color': 'white'
}

}
類(lèi)似這樣,如果數(shù)量越來(lái)越多的話,可以考慮索引:
就是單獨(dú)建表,然后在引用背包表的id放到 user表里即可

心悲涼 回答

tp 是單文件入口 通過(guò)路由分解URL 來(lái)跳轉(zhuǎn)到對(duì)應(yīng)的控制器

笨尐豬 回答

分布式失誤+微服務(wù)改造,大體的思路我覺(jué)得是這個(gè),具體的實(shí)施方案看業(yè)務(wù)
1.查詢(xún)會(huì)員或者優(yōu)惠信息等可以提請(qǐng)?zhí)幚矸胖糜趓edis或者內(nèi)存中,減少支付時(shí)的前置查詢(xún)時(shí)間,扣款時(shí)即可做到內(nèi)存計(jì)算扣款
2.后置的添加消費(fèi)記錄,增加積分,商品等相關(guān)信息的修改等可以引入消息隊(duì)列處理,由具體的服務(wù)去做
總的來(lái)說(shuō)流程拆分,微服務(wù)改造,然后注意整個(gè)事務(wù),比如核心的支付扣款無(wú)法分布式處理,因?yàn)樾枰却劭罱Y(jié)果和事務(wù)確認(rèn),其它的還是可以拆分的

離魂曲 回答

order_id > 4300284 and order_id < 4300263

你的條件寫(xiě)錯(cuò)了吧
4300284
4300263

青裙 回答

1.這個(gè)就應(yīng)該冗余了,你目前沒(méi)更多需求,但是要考慮到將來(lái)可能潛在的需求。
id,user_id,article_id
什么是可能是潛在的需求呢
2.舉個(gè)例子,比如說(shuō)你們做了社交圈子,比較常見(jiàn)的設(shè)計(jì)就是找出和你有共同興趣愛(ài)好的人,那么你如何去找,是不是得分析數(shù)據(jù),那么共同收藏是不是可以作為一個(gè)點(diǎn)。而且SQL只要這么寫(xiě)SELEC * from shoucang where article_id= {你收藏文章的ID} limit 10,可以走索引,不會(huì)造成性能開(kāi)銷(xiāo)
3.數(shù)據(jù)庫(kù)設(shè)計(jì)中,涉及到 1:N , N:N 。無(wú)論前期需求如何,一定要設(shè)計(jì)一張中間表。

若相惜 回答

一般都需要設(shè)置為空字符串,因?yàn)閚ull無(wú)法走索引。

互擼娃 回答

解決了 ,是密碼寫(xiě)上了 ,而數(shù)據(jù)庫(kù)沒(méi)有寫(xiě)上

巴扎嘿 回答

試試:

statement = """
INSERT INTO t(id, script, script_hash)
VALUES (:my_id, :my_clob, DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW(:my_clob), 2))"""

參考[Making a sha1-hash of a row in Oracle
](https://stackoverflow.com/que...

如果 patterns 不是很多,用

last_name LIKE patt1 OR last_name LIKE patt2 ...

就好。如果 patterns 很多,可以把 patterns 存在一個(gè)表 patterns(pat) 里面,然后:

SELECT * FROM actor
 WHERE EXISTS (
       SELECT 1 FROM patterns 
        WHERE actor.last_name LIKE patterns.pat)
抱緊我 回答

可以在數(shù)據(jù)庫(kù)表里面加一個(gè)字段,標(biāo)識(shí)一下;
或者把查過(guò)的數(shù)據(jù)主鍵放進(jìn)redis的set里面,每次隨機(jī)查出來(lái)后過(guò)濾一下

菊外人 回答

ubuntu的php 有執(zhí)行php-fpm監(jiān)聽(tīng)嗎?你可以先試試訪問(wèn)html如果html不行就該考慮nginx/apache問(wèn)題可以看error_log,還有hosts有沒(méi)有添加域名指向,最后發(fā)現(xiàn)如果html可以php不行看看php-fpm有沒(méi)有在運(yùn)行用grep搜索一下

瞄小懶 回答

mybatis 的話這個(gè)可以實(shí)現(xiàn)的, 我之前是寫(xiě)過(guò)一個(gè)類(lèi)似的

表結(jié)構(gòu):

CREATE TABLE `admin_menu` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `name` varchar(64) NOT NULL COMMENT '菜單名',
  `parent_id` bigint(3) NOT NULL DEFAULT 0 COMMENT '父菜單的id, 如果是父菜單這個(gè)值為0',
  `url` varchar(500) NOT NULL DEFAULT '' COMMENT '菜單的鏈接',
  `icon` varchar(100) NOT NULL DEFAULT '' COMMENT '圖標(biāo)',
  `menu_index` bigint(3) NOT NULL DEFAULT 0 COMMENT '展示的順序',
  `create_time` datetime NOT NULL COMMENT '創(chuàng)建時(shí)間',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新時(shí)間',
  PRIMARY KEY (`id`),
  KEY `uq_id` (`id`),
  KEY `uq_parent_id` (`parent_id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='管理后臺(tái)的菜單';

其中parentId 跟你的typeParent類(lèi)似, 記錄上一級(jí)的id


AdminMenu (Model):

public class AdminMenu implements Serializable {

    private static final long serialVersionUID = -6535315608269812875L;
    private int id;
    private String name;
    private int parentId;
    private String url;
    private String icon;
    private int menuIndex;
    private Date createTime;
    private Date updateTime;
    private List<AdminMenu> subMenus;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getParentId() {
        return parentId;
    }

    public void setParentId(int parentId) {
        this.parentId = parentId;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public int getMenuIndex() {
        return menuIndex;
    }

    public void setMenuIndex(int menuIndex) {
        this.menuIndex = menuIndex;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public List<AdminMenu> getSubMenus() {
        return subMenus;
    }

    public void setSubMenus(List<AdminMenu> subMenus) {
        this.subMenus = subMenus;
    }

    @Override
    public String toString() {
        return JsonUtil.toJson(this);
    }
}

Model的屬性跟表結(jié)構(gòu)一一對(duì)應(yīng), 最下面多了一個(gè)subMenu, 里面就是AdminMenu


下面是admin_menu.xml中的內(nèi)容

查詢(xún)SQL:

<select id="selectAllMenus" resultMap="adminMenuResult">
    SELECT
        id, name, parent_id, url, icon, menu_index, create_time, update_time
    FROM
      admin_menu
    WHERE parent_id=0
    ORDER BY menu_index
</select>

這里返回的就是adminMenuResult結(jié)果集:

<resultMap id="adminMenuResult" type="biz.menzil.admin.core.model.AdminMenu">
    <id column="id" property="id"/>
    <result column="name" property="name"/>
    <result column="parent_id" property="parentId"/>
    <result column="url" property="url"/>
    <result column="icon" property="icon"/>
    <result column="menu_index" property="menuIndex"/>
    <result column="create_time" property="createTime"/>
    <result column="update_time" property="updateTime"/>
    <association property="subMenus" column="id" select="selectSubMenus"/>
</resultMap>

其中這一行是最重要的

 <association property="subMenus" column="id" select="selectSubMenus"/>

這里用selectSubMenus來(lái)進(jìn)行了另一個(gè)查詢(xún), 查詢(xún)的參數(shù)為id, 把查詢(xún)出來(lái)的結(jié)果放在Model中的subMenus屬性中.

selectSubMenus查詢(xún)SQL:

<select id="selectSubMenus" parameterType="long" resultMap="adminSubMenuResult">
    select
      id, name, parent_id, url, icon, menu_index, create_time, update_time
    from admin_menu
    where parent_id = #{id}
    order by menu_index
</select>

這里就是用第一層的id來(lái)查詢(xún)有沒(méi)有子菜單. 這里的#{id}就是上面那個(gè)結(jié)果集的column參數(shù).
因?yàn)槲抑挥袃蓪硬藛? 所以這里用了一個(gè)新的結(jié)果集,跟上面的區(qū)別就是沒(méi)有subMenus字段.

adminSubMenuResult:

<resultMap id="adminSubMenuResult" type="biz.menzil.admin.core.model.AdminMenu">
    <id column="id" property="id"/>
    <result column="name" property="name"/>
    <result column="parent_id" property="parentId"/>
    <result column="url" property="url"/>
    <result column="icon" property="icon"/>
    <result column="menu_index" property="menuIndex"/>
    <result column="create_time" property="createTime"/>
    <result column="update_time" property="updateTime"/>
</resultMap>

如果你有三,四級(jí)的話你可以一個(gè)結(jié)果集. (第一層查詢(xún)的時(shí)候用id去查詢(xún)第二層, 第二層查詢(xún)的時(shí)候用第二層的id去查詢(xún)第三層...)


下面我貼一下整個(gè)的admin_menu.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="biz.menzil.admin.core.dao.AdminMenuDao">

    <resultMap id="adminMenuResult" type="biz.menzil.admin.core.model.AdminMenu">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="parent_id" property="parentId"/>
        <result column="url" property="url"/>
        <result column="icon" property="icon"/>
        <result column="menu_index" property="menuIndex"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
        <association property="subMenus" column="id" select="selectSubMenus"/>
    </resultMap>

    <resultMap id="adminSubMenuResult" type="biz.menzil.admin.core.model.AdminMenu">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="parent_id" property="parentId"/>
        <result column="url" property="url"/>
        <result column="icon" property="icon"/>
        <result column="menu_index" property="menuIndex"/>
        <result column="create_time" property="createTime"/>
        <result column="update_time" property="updateTime"/>
    </resultMap>

    <insert id="insertAdminMenu">
        INSERT INTO admin_menu(name, parent_id, url, icon, menu_index, create_time)
        VALUES (
        #{menu.name},
        #{menu.parentId},
        #{menu.url},
        #{menu.icon},
        #{menu.menuIndex},
        NOW()
        )
    </insert>

    <select id="selectById" resultMap="adminMenuResult">
        SELECT
            id, name, parent_id, url, icon, menu_index, create_time, update_time
        FROM
          admin_menu
        WHERE id = #{id}
    </select>

    <select id="selectAllMenus" resultMap="adminMenuResult">
        SELECT
            id, name, parent_id, url, icon, menu_index, create_time, update_time
        FROM
          admin_menu
        WHERE parent_id=0
        ORDER BY menu_index
    </select>

    <select id="selectSubMenus" parameterType="long" resultMap="adminSubMenuResult">
        select
          id, name, parent_id, url, icon, menu_index, create_time, update_time
        from admin_menu
        where parent_id = #{id}
        order by menu_index
    </select>

    <delete id="deleteAdminMenu">
        DELETE FROM
        admin_menu
        WHERE id=#{id}
    </delete>

    <update id="updateAdminMenu" >
        UPDATE admin_menu
        <set>
            <if test="menu.name != null and menu.name != ''">
                name=#{menu.name},
            </if>
            <if test="menu.parentId >= 0">
                parent_id=#{menu.parentId},
            </if>
            <if test="menu.url != null and menu.url != ''">
                url=#{menu.url},
            </if>
            <if test="menu.icon != null and menu.icon != ''">
                icon=#{menu.icon},
            </if>
            <if test="menu.menuIndex > 0">
                menu_index=#{menu.menuIndex},
            </if>
        </set>
        WHERE id=#{menu.id}
    </update>

</mapper>
疚幼 回答

現(xiàn)在的問(wèn)題是你phpmyadmin用的是xampp環(huán)境的mysql,navicat用的是自己安裝的。想要一致我覺(jué)得最好的辦法就是停用掉xammp的mysql,然后把phpmyadmin的鏈接指向你自己安裝的mysql;