2013-12-16 43 views
1

我有一列,其中我将domain_name转换为64位bigint字符串。如何在整数列中存储64位字符串?

它成功转换它。

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" /> 

它存储其他东西一样2147483647虽然SITEID是14177909183865716377。 任何人都可以帮助我如何施展它?

+1

我想你会发现'2147483647'是你可以放入一个整数中的最大值。你需要使用一个无符号的'BIGINT',我想:http://dev.mysql.com/doc/refman/5.0/en/integer-types.html –

+0

所以听起来好像没有办法投它整数?但无论如何非常感谢,我只是使用'unsigned bigint',它的工作原理。 –

+2

不,不可能将太大的东西放入太小的容器中。 IT和物理学一样。 –

回答

相关问题