我在 Ubuntu 上安装了 Squirel SQL,并下载了一个 MySQL 驱动程序并将其放入lib
Squirel 文件夹的文件夹中。然后我在配置Squirel MySQL驱动的时候在“extra class”选项卡中选择了这个驱动。连接到数据库并查看数据有效,但是当我尝试重命名 Squirel 中的列时,它建议使用特定于 Oracle 的代码而不是特定于 MySQL 的变体。我做错了什么?Squirel 的重构工具不支持 MySQL 或者我如何配置它以正确重命名列?PhpMyAdmin 自动很好地解决了这个任务。
这是当我在“修改列”菜单中单击“显示 SQL”时显示的 SQL:
ALTER TABLE some_column ALTER COLUMN "one_name" RENAME TO "another_name";
这是行不通的。mySQL 以不正确的语法错误回答。
重现点击的确切顺序是:右键单击左侧面板中的表格,然后在上下文菜单中“重构”->“列”->“修改列”。然后选择列并编辑名称。按钮“执行”导致不正确的语法错误,“显示 sql”给了我这个 sql。
好的 - 在 MySQL 中更改列名的语法是
但是,SQuirreL SQL 生成的语法似乎是
我尝试使用 MySQL jdbc 驱动程序(来自 mysql.com)和 MariaDB 驱动程序(来自 mariadb.org),但在这两个方面都失败了。
确实使用 MySQL 上下文菜单(就在您尝试使用的 Refactoring 菜单之上),也不可能修改列名。
因此,实际上,您似乎发现了 SQuirreL SQL 中的错误。恭喜!
当然,您可以使用 SQL 窗口来执行此操作(已测试)。
我只能说,我很惊讶 SQuirreL SQL 对于像 MySQL 这样流行的服务器来说有这样的缺陷。
适用于最新版本的 SQuirreL。确保在“更改列”对话框中将方言更改为 MySQL。它就在列名称的下方。