问题标签 [sql-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
10617 浏览

sql-server - 如何使用 Emacs 连接到 SQL Server?

我要采取什么步骤?在使用 Emacs 时,有任何需要注意的问题或增强特定于 SQL Server 的 IDE 体验的技巧吗?

0 投票
3 回答
1495 浏览

sql - 如何让 Emacs sql-mode 识别 MySQL #-style 注释?

我正在阅读一堆使用 # (到行尾)注释的 MySQL 文件,但我的 sql-mode 不支持它们。我找到了定义 /**/ 和 -- 注释的 sql.el 的语法表部分,但据此 Emacs 语法表仅支持 2 种注释样式。

有没有办法在 sql.el 中轻松添加对 # 注释的支持?

0 投票
3 回答
526 浏览

sql - 如果已经存在,你能在 Emacs 中创建一个新的 SQL 缓冲区吗?

假设您已经在 Emacs 中打开了一个 *SQL* 缓冲区,该缓冲区连接到特定的服务器和数据库。现在,您的意图是连接到不同的服务器和数据库,同时保持其他 SQL 缓冲进程处于活动状态。

如何在不杀死原始 SQL 缓冲区的情况下创建新的 *SQL* 缓冲区进程?这可以做到吗?有没有办法改变现有缓冲区的连接信息?

0 投票
2 回答
733 浏览

emacs - Emacs:如何访问所有 sql-mode 缓冲区并设置适当的 sql-buffer

我在 emacs 中 sql-mode 的典型用法是:

一种。打开 foo.sql 文件并开始编辑

湾。决定我想使用 sql-send-region 的键绑定来运行它

C。启动我的自定义 (db-connect) 函数以连接到适当的数据库并创建 *SQL* 缓冲区。

但是 foo.sql 不知道 *SQL* 缓冲区的存在,除非我在缓冲区中执行“mx sql-mode”以刷新其环境并检测此时存在这样的缓冲区。我想在我的自定义 db-connect 函数中嵌入一些代码,以使用 sql-mode 访问所有缓冲区并更新 sql-buffer 变量。我确信几个堆栈溢出成员之前必须这样做或类似的事情。

谢谢,

SetJmp

0 投票
4 回答
3107 浏览

mysql - 如何让 emacs sql-mode 使用 mysql 配置文件 (.my.cnf)?

当我在 bash 提示符下键入时,我会使用文件中包含的、和信息mysql dbname自动连接到数据库。dbnameusernamepasswordhost.my.cnf

当我M-x sql-mysql在 emacs 中使用时,我再次被要求提供所有这些信息。

有没有一种方法可以让我使用 emacs sql 模式来使用我.my.cnf文件中的信息?

0 投票
1 回答
4579 浏览

mysql - 我可以在查询中避免使用 sql_mode 吗?

我看到我想在我的数据库中插入的表末尾有这段代码:

当我尝试在 phpMyAdmin 上执行查询时,我得到了#1231 - Variable 'sql_mode' can't be set to the value of 'NULL',但我不明白为什么。

那么,我可以删除它/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;吗?有那么重要吗?试图了解这一点,但实际上我不明白它的作用。

0 投票
2 回答
4819 浏览

mysql - MYSQL:如何在 mysql GROUP BY 查询中返回所有不同的行

我有一些列和值的表 T

我想用 group by 子句选择所有不同的行

我的查询是

我的预期结果是

** 我添加了 max(g2) 因为我需要针对每个组添加 where 子句。:D 谢谢你的回答。我需要聚合来限制返回(有子句)。另一个解决方法是有子查询

通过我的 MySQL 只返回每组的第一行

忽略其他列( id 和 g1 )的所有差异。

我记得使用其他 DBMS(oracle 和 MsSQL,或 MySQL),我可以期望我的查询返回上面的预期结果。返回所有不同的行。

或者是否有任何要更改的 mySQL 设置?

我已经尝试过 SET sql_mode=ONLY_FULL_GROUP_BY,但它只是显示指定列的通知,据我了解,不在 group by 子句中指定列名是显示具有不同列值的所有行。

或者,是否需要指定任何 sql_mode 设置?或者至少为什么 MySQL 只返回组的第一行???

提前感谢您的任何回复...

0 投票
1 回答
423 浏览

emacs - 自定义 emacs sql-mode 以执行 sql-blocks

EMACS 中的 REPL 确实是我非常喜欢的一个很棒的功能。但是在sql-mode下,我遇到了很多问题。

像:

  1. 我想使用 db3(可以识别别名的 db2 包装器),我可以启动一个 db3 shell 缓冲区并让 sql-mode 将其识别为默认评估缓冲区吗?

  2. 这实际上更重要,当我将一个区域发送到 eval 缓冲区时,eval 缓冲区将通过换行符执行该区域,这使我的 sql 代码几乎无法执行。那么我将如何自定义 sql-mode,以便它可以按块而不是 line-break 执行?

==========我自己找到了解决方案==================

对于问题 1:自定义 sql-db2 肯定更困难,我仍在挖掘,这涉及更多工作,例如为 emacs 编写插件 ==> 临时解决方案是我仍然可以使用别名连接到 db2

对于问题 2:事实证明 db2 确实有一个选项 -t 来设置终止字符,这完美地解决了我的问题。

0 投票
1 回答
433 浏览

emacs - 在 emacs 中禁用 sql 模式自动完成

我正在尝试以下列方式编写我的 pl/sql 代码:id_sel然后点击TABor Enter,我已经id_select完成了!它适用于任何...sel单词。我认为这是一个sql-mode特点。如何禁用此功能?

0 投票
0 回答
153 浏览

mysql - Emacs SQLi模式在SQL发送中有不平衡的引号

这里有趣的问题。当尝试在 Emacs SQLi 模式缓冲区中发送任何合理数量的信息时,结果通常是不平衡的引号和无法解释的随机语句。但是,当我一次运行一点 SQL 文件时,一切都按预期工作。

通常缓冲区执行失败的结果是 SQL 缓冲区,如下所示:

显然,事后手动关闭报价会导致更多错误。

我确保简化了 SQL 文件,因此其中没有 MySQL 主义,以防它们混淆模式,但问题仍然存在。

通过一些调查,它似乎切断了第 100-130 行(也许是 128?)之间的任何查询。

tl;dr - Emacs SQLi 模式在以少量 SQL 发送 SQL 时有效,但在发送超过 128 行时会出错。

我在这里错过了什么吗?