gpt4 book ai didi

mysql - 二进制(16)作为主键 : Lightswitch recognizes GUID but can't write them correctly

转载 作者:行者123 更新时间:2023-11-29 12:44:43 25 4
gpt4 key购买 nike

我们必须使用 GUID,识别从 SQL Server 导出到 MySQL 的记录。我们在 MySQL 中有一个像这样的表:

CREATE TABLE IF NOT EXISTS `images` (
`idImage` binary(16) NOT NULL,
`caption` varchar(1000),
`preview` blob,
`lastModified` datetime NOT NULL,
PRIMARY KEY (`idImage`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

并通过以下方式插入数据:

INSERT INTO `images` 
VALUES (
-- .NET: Guid.Parse("12345678-1234-1234-1234-123456789001")
UNHEX(REPLACE('78563412-3412-3412-1234-123456789001','-','')),
'My first sample image',
NULL,
'2014-08-26 15:51:25'
);

在 Lightswitch 中设置数据源后,我得到了: Lightswitch recognizes Binary(16) as GuidLightswitch 识别我的 GUID 主键!!!就是棒 :-)这是屏幕: Guid on a screen是的!那太棒了!

但是现在,我想要 CRUD:

  • 我无法创建新记录。 Lightswitch 说:第 1 行“idImage”列的数据太长
  • 我无法更新或删除任何现有记录。 Lightswitch 说:另一用户已删除此记录。

这里出了什么问题?

最佳答案

这个问题很容易解决。您必须告诉 MySQL 连接器使用 GUID 的另一个(较旧的)说明。通常这是通过添加

来完成的
Old Guids=true;

到连接字符串。在您的情况(Lightswitch 项目)中,您必须使用“数据源向导”更改此选项。您将在菜单中找到它:

附加数据源向导 > 连接属性 > 高级属性

enter image description here

就是这样!

关于mysql - 二进制(16)作为主键 : Lightswitch recognizes GUID but can't write them correctly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25604329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com