Mysql

如何將帶有二進制鍵的 MySQL 錶鍊接到 Access 中?

  • April 16, 2014

在 MS Access 中,我通過 ODBC 創建了一個連結表到一個帶有二進制(16)主鍵列(UUID)的 MySQL 表。MS Access 僅顯示第一行,所有其他行都有#deleted 條目。我猜這是二進製欄位的原因。我檢查了 ODBC 驅動程序屬性但沒有成功。你有解決這個問題的辦法嗎?

**詳細資訊:**我正在使用 Access 2010 64 位和“MySQL ODBC 5.2a 驅動程序”。打開連結表如下所示:

連結表

MySQL 表具有以下定義(簡化):

+---------------+---------------+------+-----+------------------+-------+
| Field         | Type          | Null | Key | Default          | Extra |
+---------------+---------------+------+-----+------------------+-------+
| LNEr          | binary(16)    | NO   | PRI |                  |       |
| Datum         | datetime      | YES  |     | NULL             |       |
| StatNr        | int(11)       | YES  |     | NULL             |       |

MS Access 生成以下定義:

訪問定義

我通過為表創建一個可更新的 VIEW解決了這個問題。視圖顯示每一列,但使用HEX()函式將主鍵LNEr轉換為字元串:

CREATE VIEW v_ereignisse AS SELECT HEX(LNEr) AS LNEr, Datum, StatNr, ...

在 MS Access 中,我沒有創建指向表的連結,而是創建了指向視圖的連結。因為視圖沒有主鍵,“錶鍊接管理器”要求選擇一個,這(當然)是LNEr.

引用自:https://dba.stackexchange.com/questions/63213