我有一个专栏,其中我将 domain_name 转换为 64 位 bigint 字符串。
它成功地转换了它。
CONV(SUBSTRING(CAST(SHA(TRIM("#arguments.domain_name#")) AS CHAR), 1, 16), 16, 10),
我想在另一个表中使用这个转换后的字符串并尝试将其存储为整数。当我尝试像这样类型转换它时
CAST(arguments.siteid AS INT(11) AS INTEGER)
出现错误;你有一个 SQL 语法错误。
我试过用另一种方式存储它
<cfqueryparam value="#arguments.siteid#" cfsqltype="cf_sql_integer" />
虽然站点 ID 是 14177909183865716377
,但它正在存储类似 2147483647
的内容。
谁能帮我如何转换它?
最佳答案
鉴于事实证明是这样,将我在评论中的观察升级为答案:
I think you'll find 2147483647 is the biggest value you can put in an integer. You'll need to use an unsigned BIGINT, I think, based on the docs: "MySQL 5.0 Reference Manual :: 11 Data Types :: Integer Types (Exact Value)".
关于mysql - 如何在整数列中存储 64 位字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20608254/