Gre*_*reg 3 mysql mysql-workbench
我正在使用二进制uuids作为密钥.有没有办法用Mysql Workbench为这种模式编辑表数据?我最终得到:
UPDATE `db`.`table` SET `foo`='bar' WHERE `uuid`=?;
Run Code Online (Sandbox Code Playgroud)
这显然会返回错误:
ERROR 0: Value not set for all parameters
Run Code Online (Sandbox Code Playgroud)
我没有其他方法可以引用我想编辑的行.
PhpMyAdmin也破坏了所有二进制数据.
编辑 - 澄清一下,实际密钥的数据类型是BINARY(16)
编辑2 - 为了澄清更多,这个问题具体是关于MySQL Workbench.我理解准备好的陈述.
编辑3 - 我正在为此付出赏金,希望有人知道解决方法或解决方案.
您可以使用以下方式显示表:
SELECT *,HEX(uuid) FROM `db`.`table`;
Run Code Online (Sandbox Code Playgroud)
示例输出:
uuid foo HEX(uuid)
---------------------------------------------------------------
E??|M_jE??|M_j test 45ABFA057C4D5F6A45ABFA057C4D5F6A
.
.
Run Code Online (Sandbox Code Playgroud)
然后你可以用以下方法更新它:
UPDATE `db`.`table` SET `foo`='bar' WHERE `uuid`=UNHEX('45ABFA057C4D5F6A45ABFA057C4D5F6A');
Run Code Online (Sandbox Code Playgroud)
要么
UPDATE `db`.`table` SET `foo`='bar' WHERE `uuid`=CAST(0x45ABFA057C4D5F6A45ABFA057C4D5F6A AS BINARY);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1207 次 |
| 最近记录: |