› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
longnight0119
V2EX  ›  MySQL

mysql 联合主键 做查询

  •  
  •   longnight0119 · Feb 13, 2018 · 10250 views
    This topic created in 3181 days ago, the information mentioned may be changed or developed.

    mysql 中表名 table 复合主键 id,type 通过其他系统 获得一堆 主键 [{1,1},{2,1},{3,1},{4,2},{5,2},{6,2}……] 请问 我在 table 中 如何通过最简单的 sql 语句查询出 我所拥有的 复合主键数组 相关的实体 select * from table where condationSql 这个 condationSql 我该怎么写

    Ghkitg
        1
    Ghkitg  
       Feb 13, 2018   ❤️ 2
    SELECT *
    FROM t
    WHERE (col1, col2)
    IN ((val1a, val2a), (val1b, val2b), ...) ;
    longnight0119
        2
    longnight0119  
    OP
       Feb 13, 2018
    好的 我试一下,稍后在回复,
    longnight0119
        3
    longnight0119  
    OP
       Feb 13, 2018
    @Ghkitg 解决了 这个写法真的是 不好搜 ,百度了 什么结果都没有 ,还真的是好用 ,谢谢, 请问相关的知识 我在哪里能补一下 ,还请不吝赐教
    longnight0119
        5
    longnight0119  
    OP
       Feb 13, 2018
    @Ghkitg 假如说我要 group by (id,type) having count(id,type) =2 要实现这样的需求 该怎么 写 我试了
    group by (id,type) having count(id,type) =2 这样的方式 查询 error:Operand should contain 1 column(s)
    wanganjun
        6
    wanganjun  
       Feb 13, 2018 via iPhone
    @longnight0119 直接 having count() = 2 应该就可以了
    longnight0119
        7
    longnight0119  
    OP
       Feb 13, 2018
    @wanganjun 不行 我试了 error:[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')=2
    longnight0119
        8
    longnight0119  
    OP
       Feb 13, 2018
    @wanganjun 假如说我要 group by (id,type) having count(id,type) =2 要实现这样的需求 该怎么 写 我试了
    group by (id,type) having count(id,type) =2 这样的方式 查询 error:Operand should contain 1 column(s)
    这个是因为 group by 后面不能跟 圆括号,把圆括号 去掉以后 执行查询 就被阻挡在 having count 这里了
    longnight0119
        9
    longnight0119  
    OP
       Feb 13, 2018
    @wanganjun 然后 把 having count() 中的内容去掉 就是[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')=2
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1285 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:51 · PVG 05:51 · LAX 14:51 · JFK 17:51
    ♥ Do have faith in what you're doing.