mysql - 在 Coldfusion 中写入数据库时​​如何防止字段长度错误破坏脚本?

标签 mysql csv coldfusion import insert

我正在尝试创建一个 CSV 导入(使用 Coldfusion8)到我的数据库中。

CSV 文件首先被解析为 Coldfusion 数组("x",使用 this UDF 完成),然后我将其输入临时表进行验证,然后再实际提交给使用 JSON 映射的数据库,要为其导入 CSV 列)。

一切正常,除了字段长度......仍然会抛出错误。

现在我正在这样导入:

...
<cfif variables.c_comp NEQ "">
, <cfqueryparam value = "#x[variables.c_comp]#" cfsqltype="cf_sql_varchar" maxlength="50">
</cfif>
...

x 是被解析的 CSV 行,variables.c_comp 是指定字段的 JSON 映射列号。

我的问题是,如果用户提交一个长度为 51 个字符的字段,整个导入将失败。

问题:
有没有办法导入前 50 个字符而不引发错误?或者只设置一个标志。

感谢您的投入!

最佳答案

只需使用 Left() 函数将其修剪到最大长度

<cfqueryparam value = "#Left(x[variables.c_comp], 50)#" cfsqltype="cf_sql_varchar" maxlength="50">

关于mysql - 在 Coldfusion 中写入数据库时​​如何防止字段长度错误破坏脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15191676/

相关文章:

mysql - 更改 mysql 中的服务器和客户端排序规则和字符集

mysql - 错误 2002 (HY000) : Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) help me

php - 将数据库复制到新数据库中,包括结构和数据

java - 如何将 CSV 记录映射到 bean?

mysql - 使用包含不支持格式的文字值的 CSV 数据更新 MySQL 表

c++ - 如何在 QTextStream 中退格 "write"?

coldfusion - 您可以通过cfscript在函数中执行可选参数吗?

sql - 不能在 IN 表达式 CFQUERY 中放置超过 1000 个元素

coldfusion - CF8 与 CF10 : local scope declared in parent not visible in child functions

PHP - 将 MySQL 联系人与 Exchange 同步