首页 > 解决方案 > MySQL 和 Visual Studio 无法识别主键

问题描述

我已经尽可能地减少了这个。我收到错误消息:“不支持不返回任何键列信息的选择命令为更新命令生成动态 sql”。

这通常意味着我没有主键。但我这样做了,这是它的创建表(MySQL):

CREATE TABLE `testtable1` (
  `test_id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `test_label` varchar(10) NOT NULL,
  PRIMARY KEY (`test_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

MySQL 等是最新稳定版本的全新安装。我的 Visual Studio 是 Community 2019。

我可以在服务器资源管理器中添加数据连接就好了,我可以看到所有两列。这是 testdb 中唯一的表。上面的 create 语句实际上来自该连接,它标识有一个主键(test_id)。查看服务器资源管理器中的列属性会显示其中包含“PRI”的列键属性。似乎它知道它是我的主键。

我去添加一个新的winform,只在上面放一个DataGridView。从“选择数据源”的向导中,我选择添加项目数据源并选择数据库、数据集,选择连接字符串,从表中选择所有列,然后单击完成。

那是我得到错误的时候。

没有比这更基本的了。我在搞什么鬼?MySQL 或 Visual Studio 中是否有一些设置错误?这是我第一次尝试 MySQL,我没有任何运气。

古尔,格雷格。:)

标签: mysqlvisual-studiowinforms

解决方案


找到了各种各样的答案。MySQL 定义中的 Unsigned 肯定会导致连接器或 Visual Studio 阻塞。从列定义中删除它可以使其正常工作。

我可以为我的表使用 Signed BIGINT 主键列。

-gg


推荐阅读