Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让MySql使用;[“作为引号字符?_Sql_Mysql - Fatal编程技术网

如何让MySql使用;[“作为引号字符?

如何让MySql使用;[“作为引号字符?,sql,mysql,Sql,Mysql,我被迫使用一个愚蠢的Windows程序(称为idcenter,由Datacard制作,如果你不幸使用它的话),它说它可以处理ODBC数据库 所以,我把它连接到我的MySQL数据库。到目前为止一切都很好 然后我注意到它在尝试更新时会呕吐。MySQL认为不好的SQL包含“[”和“]”作为引号字符,这当然是Microsoft SQL Server和Access都使用的 我认为在这个糟糕的程序中没有办法改变它引用SQL的方式。我可以换一种方式吗?有没有办法让MySQL使用“[”和“]”作为引用字符? 加

我被迫使用一个愚蠢的Windows程序(称为idcenter,由Datacard制作,如果你不幸使用它的话),它说它可以处理ODBC数据库

所以,我把它连接到我的MySQL数据库。到目前为止一切都很好

然后我注意到它在尝试更新时会呕吐。MySQL认为不好的SQL包含“[”和“]”作为引号字符,这当然是Microsoft SQL Server和Access都使用的

我认为在这个糟糕的程序中没有办法改变它引用SQL的方式。我可以换一种方式吗?有没有办法让MySQL使用“[”和“]”作为引用字符?


加载数据填充。指定字段封闭符。

感谢所有的输入;我非常感谢


我没有控制IDcenter程序,但我确实对它写入的特定表进行了控制,并更改了表标识符,以便不需要任何类型的引号。我希望并祈祷IDcenter能够足够聪明地意识到它不需要引号,因此不会发送方括号。确实如此发生了什么事。

您是否尝试过在MySQL中重命名表名以使用括号?这需要使用反勾号…这可能是我读过的所有帖子中最好的第一句话。唯一想到的是ANSI QUOTES SQL模式,因此如果您能让您的程序使用
而不是
[]
you're here.OMG Ponies-尽管这很有创意,但它不起作用,因为MySQL在每次您引用表时都需要反勾号,这可能是其他程序无法完成的。All:感谢您的创意!我最终从表标识符中删除了导致IDcenter程序出错的字符结束括号;幸运的是,它意识到,由于标识符现在完全由合法的SQL标识符字符组成,它不需要使用括号或其他方式引用它们。谢谢;忘了指定这是实时发生的。请定义实时。实时性很难,就像需要立即发生或失败一样,还是实时性很强感觉事情会在短时间内发生,或者失败?因为如果是后者,你可以使用watchdog。无论如何,你可能会想剪切源代码——我不太清楚你为什么要费劲地完成所有这些。看起来IDCenter支持其他数据库软件,李例如Oracle和Microsoft SQL Server 2k和2k5,它们都具有硬实时功能。如果您一直认为需要更改源代码,则可能需要调用Datacard。它们可能会欢迎新数据库的端口。它们还可能为您提供有关此问题的其他见解。例如,它与是的,Wrikken找到了答案。对不起,这只是意味着当您从程序中更改某些内容时,程序会直接向数据库发出update语句。它发出的update语句(我无法控制)包含括号。