【发布时间】:2018-10-29 12:43:43
【问题描述】:
任何人都可以帮助我将下面的 MySQL 查询转换为 MemSQL 查询。
SELECT TABLE_SCHEMA AS `schema`, TABLE_NAME AS `name`
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME COLLATE utf8_general_ci IN (N'Record')
AND TABLE_SCHEMA = 'test'
需要解决以下错误
[错误代码:1064 SQL 状态:42000] 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'COLLATE utf8_general_ci IN (N'Record')AND TABLE_SCHEMA = 'test'' 附近使用正确的语法
【问题讨论】:
-
看起来不支持 collate 子句(那里)。也许是
lower(TABLE_NAME) = 'record'? -
N'Record'感觉就像 SQL Server (MSSQL) 语法。编辑接缝它也适用于 MySQL。 ...“您可以使用 N'literal'(或 n'literal')在国家字符集中创建字符串”来源dev.mysql.com/doc/refman/8.0/en/string-literals.html -
我在 memsql 文档中搜索了它接缝你不能像 MySQL 一样在 SELECT 中动态使用 COLLATE 可以(dev.mysql.com/doc/refman/8.0/en/charset-collate.html)至少我找不到它......当你使用临时表作为解决方法,因为它在那里接缝,您可以定义 COLLATE 吗? docs.memsql.com/sql-reference/v6.5/create-table
-
@RaymondNijland,国家字符文字是 ANSI/ISO SQL 标准,大多数 dbms 产品都支持。
-
"国家字符文字是 ANSI/ISO SQL 标准,并得到大多数 dbms 产品的支持 "是的,我已经读过 @jarlh "标准 SQL 定义 NCHAR 或 NATIONAL CHAR" 源 dev.mysql.com/doc/refman/8.0/en/charset-national.html.. 但是并非所有人都可以访问 ANSI/ISO SQL 标准文档...
标签: mysql sql database singlestore