前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql遇到的问题

mysql遇到的问题

作者头像
治电小白菜
发布2020-08-25 14:35:41
6310
发布2020-08-25 14:35:41
举报
文章被收录于专栏:技术综合

1.多表关联查询

模型图

1)查询语句

代码语言:javascript
复制
    SELECT ud.uid,u.username,u.`password`,u.email,d.devicename,d.devicetype,`data`.param1,`data`.param2,`data`.param3,`data`.param4,`data`.time
    FROM device d
    LEFT JOIN user_device ud on d.id=ud.did
    LEFT JOIN user u on u.id=ud.uid
    LEFT JOIN `data` on `data`.did=d.id

2)查询结果

查询结果

2.mysql修改表结构 报 1833错误

先将外键配置删除,再更新表结构,然后再把外键添加回来即可 这也说明,建立关联前,要把表结构设计好,检查好,,,

3.mysql防止插入重复

由于我插入的是关联表,两个字段都是外键,而且,两个字段需要又重复,只是两个结合不能有重复,所以只能想到使用select where来判断

代码语言:javascript
复制
    INSERT  INTO user_device (
            uid,did
    )SELECT
            (
                    SELECT id 
                    FROM user
                    WHERE user.username="zzes"),
            (
                    SELECT id
                    FROM device
                    WHERE device.devicename="orange pi")
    FROM DUAL
    WHERE NOT EXISTS(
            SELECT uid,did
            FROM user_device
            WHERE uid=(
                    SELECT id 
                    FROM user
                    WHERE user.username="zzes")
            AND
                  did=(
                    SELECT id
                    FROM device
                    WHERE device.devicename="orange pi")
    ) 

4.插入前判断外键是否存在

插入数据前,判断设备id是否存在,不存在就不插入

设备数据表

设备表

代码语言:javascript
复制
    INSERT `data`(did,param1,param2,param3,param4) 
    SELECT 5,23,44,1,1 FROM device WHERE device.id=5

5.MySQL 1215 Cannot add foreign key constraint 错误解决办法

外键数据格式和相对于的另一个表的主键格式不一样导致的,改成相同的格式和length即可。。。

6.取出正数指定个数数据

代码语言:javascript
复制
SELECT mobile FROM doctor ORDER BY  id  LIMIT 1'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.多表关联查询
  • 2.mysql修改表结构 报 1833错误
  • 3.mysql防止插入重复
  • 4.插入前判断外键是否存在
  • 5.MySQL 1215 Cannot add foreign key constraint 错误解决办法
  • 6.取出正数指定个数数据
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档