查询查找外键

2023-11-26

我有一个数据库,需要删除一些外键,但我事先不知道外键是否仍然存在。

我发现了一些存储过程(http://forums.mysql.com/read.php?97,218825,247526)这可以解决问题,但我不想为此创建存储过程。

我尝试在存储过程中使用查询,但使用“IF EXISTS(SELECT NULL FROM 等...等...”时出现错误

我可以只使用IF EXISTS在存储过程中?


现在,我唯一能跑的就是

SELECT * FROM information_schema.TABLE_CONSTRAINTS 
WHERE information_schema.TABLE_CONSTRAINTS.CONSTRAINT_TYPE = 'FOREIGN KEY' 
AND information_schema.TABLE_CONSTRAINTS.TABLE_SCHEMA = 'myschema'
AND information_schema.TABLE_CONSTRAINTS.TABLE_NAME = 'mytable';

我也尝试过这个

IF EXISTS (SELECT NULL FROM information_schema.TABLE_CONSTRAINTS WHERE CONSTRAINT_SCHEMA = DATABASE() AND CONSTRAINT_NAME = parm_key_name) THEN
(...) do something (...)
END IF; 

但我得到一个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 'IF' at line 1

我在论坛中寻找了带有简单查询的示例,但我无法理解为什么这不起作用。

注意:编辑以更正损坏的链接


需要连接到Information schema,就可以在这张表中找到主键和外键的所有信息

SELECT * FROM information_schema.TABLE_CONSTRAINTS T;

你需要成为ROOT用户访问information_schema.

使用这个表你可以找到表、数据库以及它是否有外键。

如果您不想使用,希望这会有所帮助IF EXIST和存储过程。但我确信你可以使用IF EXIST可用于非存储过程查询......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查询查找外键 的相关文章

  • 映射 mysql 中同一个表的多个值

    您好 我必须使用另一个表中的值 id 获取文本值 表 1 包含值 ID 表 2 包含名称和值 ID 表 1 SEVERITY OCCURENCE DETECTABILITY 2 3 4 表 2 id name value 1 Very Hi
  • SQL不允许表中有重复记录

    如何使其不添加重复项 我想让它通过 ID 之外的所有其他列进行检查 我希望这个无效 ID col1 col2 col3 1 first middle last ID col1 col2 col3 2 first middle last 我希
  • 显示标准化数据

    跟进问题 添加 2 个不同表的总和 https stackoverflow com questions 39717541 adding sum from 2 different tables 我创建了3个表 members videos v
  • 仅当值发生更改时如何插入数据库?

    我需要更新 替换 MySQL 数据库中的字段 但前提是它们已更改 该表包含 ID 文本字段和更改日期 用户根据更改日期通过 ID 查询数据 即 如果该日期早于用户上次查询数据的时间 则他不想要它 仅当文本字段与具有相同 ID 的现有文本字段
  • Windows 8.1 升级后 Apache 无法工作 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 今天从 Windows 8 升级到 Windows 8 1 后 Apache 不再工作 我上次从 Windows 7 升级到 Window
  • 如何在 MySQL 中求和时间?

    正如您在图片中看到的 我有一份停机报告 显示了所选工厂在选定日期的停机时间 现在我想添加所有的值 Time Duration 列并将其显示在附近的单独显示中 TOTAL TIME DURATION 例如 在图像中 所选日期为 2015 年
  • MySql 5.7 ORDER BY 子句不在 GROUP BY 子句中并且包含非聚合列

    我试图在不禁用 my ini 中的 only full group by 的情况下弄清楚 这是我的查询 SELECT p title COUNT t qty AS total FROM payments t LEFT JOIN produc
  • MySQL 8 用逗号分割字符串并将其转换为JSON ARRAY

    我有以下字符串 a b c d 我想将它转换成一个 json 数组 像这样 a b c d MySQL 8 有什么函数可以实现这个功能吗 Try SELECT CAST CONCAT REPLACE a b c d AS JSON See
  • 即使没有结果也返回一个值

    我有这种简单的查询 它返回给定 id 的非空整数字段 SELECT field1 FROM table WHERE id 123 LIMIT 1 问题是如果找不到 id 结果集就是空的 我需要查询始终返回一个值 即使没有结果 我有这个东西工
  • PHP MYSQL文件内容转义问题

    我正在尝试使用 php 将 pdf 文件上传到 mysql 数据库中 除了文件内容之外 一切都很好 无论我如何尝试转义特殊字符 查询总是失败 主要是 未知命令 n 我使用过addslashes mysql real escape strin
  • 什么时候应该使用 C++ 而不是 SQL?

    我是一名 C 程序员 偶尔使用 MySQL 来处理数据库 但我的 SQL 知识相当有限 但我肯定愿意改变这一点 目前 我正在尝试仅使用 SQL 查询对数据库中的数据进行分析 但我准备放弃了 转而将数据导入到C 中 用C 代码进行分析 我和同
  • 如何在 MySQL 中测试 Select for Update

    我正在表演SELECT FOR UPDATE或 InnoDB 表的行级锁定 我的目的是只有一个请求可以读取同一行 因此 如果两个用户同时请求相同的数据 其中只有一个人获取数据 即第一个触发查询的人 但是我如何测试锁定是否已放置 因为我正在通
  • mysql 中的二进制、十六进制和八进制值

    我对在 mysql 数据库中使用二进制 十六进制和八进制系统非常感兴趣 首先 请给我一个建议 为什么我们在存储信息时需要它们 因为信息太多 或者为什么 另外 哪种类型的值必须存储在标记系统中 另外这里还有像 这是例子 gt SELECT 5
  • MySQL中如何声明变量?

    如何在mysql中声明一个变量 以便我的第二个查询可以使用它 我想写一些类似的东西 SET start 1 SET finish 10 SELECT FROM places WHERE place BETWEEN start AND fin
  • 在 jQuery AJAX 成功中从 MySql 获取特定响应

    好吧 我有这个 ajax 代码 它将在 Success 块中返回 MySql 的结果 ajax type POST url index php success function data alert data My Query sql SE
  • 将庞大数据库从亚马逊RDS导出到本地mysql

    我在 Amazon RDS 上有一个 mysql 数据库 大约 600GB 数据 我需要将其移回本地专用服务器 但我不知道从哪里开始 每次我尝试初始化 sqldump 时它都会冻结 有没有办法将其移至 S3 甚至可能在开始下载之前将其分成更
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主

随机推荐

  • 具有特定格式的日期到 XMLGregorianCalendar

    我得到一个 Date 对象 我需要将其转换为 XMLGregorianCalendar 特定格式 我尝试了以下方法 String formattedDate sdf format categoryData getBulkCollection
  • k&r 与位操作混淆

    练习是 编写一个函数 setbits x p n y 返回 x 并将从位置 p 开始的 n 位设置为 y 最右边的 n 位 其他位保持不变 我尝试的解决方案是 include
  • 按字典中的值返回键[重复]

    这个问题在这里已经有答案了 我正在尝试返回给定值的字典中的键 在这种情况下 如果 b 在字典中 我希望它返回 b 所在的键 即2 def find key input dict value if value in input dict va
  • 为什么 std::packaged_task 无效?

    使用MSVC2012 以下代码将按预期编译并运行 std packaged task lt int gt task gt int std cout lt lt hello world lt lt std endl return 0 std
  • 拉动刷新在 iOS WebView 中不起作用

    我已经实现了一个直接的WKWebView in iOS var refreshControl UIRefreshControl refreshControl addTarget self action Selector refreshWeb
  • Facebook Graph API (#190) 必须使用页面访问令牌调用此方法

    我通过 Facebook Graph API 从 Facebook 洞察中获取数据已有一年多了 最近开始了我所有的请求 比如 id insights 返回错误 190 This method must be called with a Pa
  • OpenSSL:无法使用 SSL_CTX_new() 创建 SSL_CTX *

    按照以下说明进行操作page 我正在尝试使用 openSSL 以安全的方式连接客户端 服务器 我无法创建 SSL CTX 如下所示 OpenSSL headers include openssl bio h include openssl
  • 在 ScrollView 中使用 onTouchListener 检测滑动

    我使用以下代码来检测活动中的滑动 getWindow getDecorView getRootView setOnTouchListener new OnTouchListener Override public boolean onTou
  • 使用 Python etree 更新 XML 元素和属性值

    我正在尝试使用Python 2 7ElementTree库来解析 XML 文件 然后用测试数据替换特定元素属性 然后将其保存为唯一的 XML 文件 我的解决方案的想法是 1 通过将文件读取为字符串来从 CSV 文件中获取新数据 2 在某些分
  • 使用相同代码但不同类型的重构方法

    我有几种方法可以做同样的事情 当与 MySQL 数据库连接时 保存或加载不同类型的参数 目前 我对每种类型都有不同的方法 如何组合这些方法以便它们支持不同的类型 下面是两个非常相似但使用不同类型的方法的示例 public static vo
  • 使用 Javascript 与 SQL 服务器握手

    我想尝试 作为学习练习 让我的 javascript 与 sql 聊天 var ws new WebSocket ws 127 0 0 1 1433 似乎没有被阻止的端口 所以理论上它应该可以工作 我正在寻找如何与 sql 服务器握手并与其
  • 显示带有嵌套 ListView 的 IGrouping<>

    我需要从数据访问层检索一组 Widget 按 widget Manufacturer 分组 以显示在一组嵌套的 ASP NET ListView 中 问题是 据我所知 嵌套 ListView 方法要求我在使用数据之前对数据进行整形 而且我无
  • 如何插入、更新和删除日历和事件

    有没有办法添加 删除和更新日历 和 有没有办法在日历中添加 删除和更新事件 Thanks 检查这个代码http code google com p android calendar provider tests source browse
  • AWS 安全组 - EC2 到 RDS

    我想问一下如何将 EC2 连接到 AWS 中的 RDP 我已将 EC2 安全组 包含 EC2 实例 添加到默认 RDP 组中 并且数据正在流动 连接正常 EC2 安全组已启用端口 80 至 0 0 0 0 0 并通过 SSH 连接到我的 I
  • 错误:不变违规:dangerouslyRenderMarkup(...):无法在工作线程中渲染标记

    设置状态导致第二次渲染后反应测试失败 到目前为止 JSDOM 和 Mocha 的测试进展顺利 到目前为止 还没有必要测试任何改变其状态的组件 我发现我的第一个问题是测试一个改变其状态的组件 错误 1 Reduced Test Case cu
  • JavaFX 在全屏模式下更改场景

    我在使用 JavaFX 时遇到问题 我创建了两个场景和切换按钮 当我单击该按钮时 我正在改变场景 但早些时候我将全屏设置为 true 按下按钮后 Windows 任务栏会显示一会儿 有没有办法在不显示此任务栏的情况下更改场景 有代码 主班
  • 是否有所有国际句号标点符号的字符集?

    我正在尝试将 utf 8 字符串解析为 一口大小 的段 例如 我想将文本分解为 句子 是否存在与所有语言的句子结尾相对应的字符 或正则表达式 的全面集合 我正在寻找能够捕捉拉丁语句号 感叹号和问号 中文和日文句号等的东西 类似上面的东西 但
  • 未捕获的 InvalidValueError:不是功能或功能集合

    看到最近的一个video由 Google 开发人员制作 我决定制作一张英国的区域地图 这个网站上提到了几种可能性 但我后来不得不放弃 所以我最终使用了这个网站 数据下载的示例页面 http mapit mysociety org area
  • RxJs Observables:在更多异步请求后运行 retryWhen

    我的用例是 用户从我们的 API 请求资产 由于 JWT 过期而失败 作为 httpOnly cookie 传递 API 返回 401 状态代码 我们再次使用refresh token对它们进行身份验证 无需用户执行任何操作 以通过客户端向
  • 查询查找外键

    我有一个数据库 需要删除一些外键 但我事先不知道外键是否仍然存在 我发现了一些存储过程 http forums mysql com read php 97 218825 247526 这可以解决问题 但我不想为此创建存储过程 我尝试在存储过