gpt4 book ai didi

mysql - 带有十六进制文字的 JDBC PreparedStatement

转载 作者:行者123 更新时间:2023-11-29 03:04:40 25 4
gpt4 key购买 nike

我有一个 Mysql 兼容的十六进制文字,例如 X'4D7953514C'我如何使用 PreparedStatments 分配这样的值,我尝试了 setString,但该值被包含在引号中。

目标是有一个看起来像这样的 sql 语句(col1 是一个 varchar):

insert into t1 (col1) values (x'4D7953514C'); 

最佳答案

您不能直接使用 JDBC 设置像 x'4D7953514C' 这样的十六进制字符串。您要么需要将 setString() 与实际预期值 (MySQL) 一起使用,要么将 setBytes() 与具有正确设置的字节数组一起使用值(例如 new byte[] {0x4D, 0x79, 0x53, 0x51, 0x4C },虽然我不是 100% 确定这适用于 MySQL Connector/J)。

X'...' 是二进制文字的 SQL 介绍语法。当您使用参数化查询时,您使用的不是文字,而是参数,因此介绍符语法不适用。

关于mysql - 带有十六进制文字的 JDBC PreparedStatement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17689826/

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