相关疑难解决方法(0)

存储MySQL GUID/UUID

这是我将UUID()生成的MySQL GUID/UUID转换为二进制(16)的最佳方法:

UNHEX(REPLACE(UUID(),'-',''))
Run Code Online (Sandbox Code Playgroud)

然后将其存储在BINARY(16)

以我应该知道的方式做这件事是否有任何影响?

mysql binary uuid guid

31
推荐指数
2
解决办法
2万
查看次数

什么列类型的MySQL将作为C#中的System.Guid返回

可能重复:
我应该如何在MySQL表中存储GUID?


VARCHAR将返回,因为string
BLOB将返回,byte[]
但是,哪个列类型的MySQL将作为System.Guid在C#中返回
感谢.

编辑:我找到答案

感谢DaveHogan,它给了我关于ORM(对象关系映射)的线索
我开始寻找有关Connector/NET所做的数据类型转换(映射)的信息.我正在使用MySQL Dot Net Connector(Connector/NET)
,连接器/ NET执行不同的3种情况.

以下是我发现的内容:

第一种情况:
从Connnector/NET 6.1.1开始,CHAR(36)将自动转换为C#中的System.GUID,BINARY(16)将被视为System.Byte [].

第二种情况:
如果使用较旧的Connector/NET,当值传递给C#时,BINARY(16)将自动转换为System.GUID,而CHAR(36)将被视为System.String.

第三种情况:
如果您使用较新的Connector/NET(比6.1.1更新),并且如果您想使用BINARY(16) AS System.GUID(默认情况下不是),则必须添加连接选项Old Guids =连接字符串中为true.
例:

server=localhost;user=root;password=qwerty;database=test;old guids=true;

通过这个,CHAR(36)将被转换为System.String和BINARY(16) = System.GUID

阅读更多关于Old Guids的连接选项的信息:
MySQL 5.6参考手册:21.2.6.连接器/网络连接字符串选项参考

------------------------------------------- ---------------------------
额外信息:
如何将System.GUID插入MySql数据库
----------- -------------------------------------------------- ---------
这是一个示例表,我们将插入System.GUID:

CREATE TABLE `testdata` (
  `id` int(10) unsigned NOT NULL …

c# mysql

7
推荐指数
1
解决办法
7617
查看次数

同一MySQL表的双向复制

AppA存储/检索来自的数据dbA.tableA.AppB存储/检索来自的数据dbB.tableA.tableA定义在这些数据库中是相同的.从开头dbB.tableA复制dbA.tableA(假设两行都有5行).

row6由AppA创建(比如主键6)row7是由AppB创建的(比如主键7).我想row7被复制到dbA.tableArow6dbB.tableA

  1. 这甚至可以设置双向复制,以便AppA,AppB在任何时间点查看相同的数据.

  2. 如果主键是自动增量,则是否可以保持数据的完整性,或者是否存在主键上可能存在冲突的可能性.

mysql replication

7
推荐指数
1
解决办法
1536
查看次数

在Python中生成特征化的唯一ID

我打算从字符和数字创建一个唯一的ID.ID应该看起来像这样

XXXX-XXXX-XXXX-XXXX

其中X是数字,小写和上限字母的组合.此Id将存储在mysql数据库中,并将增加以保持数据的一致性.

关于如何开始的任何建议?

python

2
推荐指数
1
解决办法
1918
查看次数

标签 统计

mysql ×3

binary ×1

c# ×1

guid ×1

python ×1

replication ×1

uuid ×1