【发布时间】:2014-06-24 15:07:33
【问题描述】:
为什么这个语句在工作台中可以正常工作,但在 Java 中却不行。
SET @sqlstmt := IF( @exist <= 0, 'select ''INFO: Key does not exist.''', 'ALTER TABLE `SOMETABLE` DROP FOREIGN KEY `SOMEKEY`');
在 Java 中我得到 p>
MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @sqlstmt := IF( @exist <= 0, 'select ''INFO: Key does not exist.''', 'ALTER ' at line 1
【问题讨论】:
-
那些引号看起来很奇怪。不应该是
"而不是两个单引号吗? -
您是否尝试过简化查询以隔离导致错误的部分?
-
你知道 JDBC 使用什么作为分隔符吗?
-
我原以为单引号应该在单引号内时用单引号转义。这不是真的吗?
-
我没见过。您能否尝试使用反斜杠而不是其他引号来转义这些引号?