Mysql 网站中的Sql错误
我有一个带有以下SELECT语句的查询: asciisubstringSELECT column\u name FROM information\u schema.columns,其中table\u name=\'admin-modules\'LIMIT 1,1,1>0-- 但这给了我以下错误: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行“\'admin-modules\'limit 1,1,1>0---”附近使用的正确语法Mysql 网站中的Sql错误,mysql,sql,database,Mysql,Sql,Database,我有一个带有以下SELECT语句的查询: asciisubstringSELECT column\u name FROM information\u schema.columns,其中table\u name=\'admin-modules\'LIMIT 1,1,1>0-- 但这给了我以下错误: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解在第1行“\'admin-modules\'limit 1,1,1>0---”附近使用的正确语法 有人能帮我找出出错的原因吗?这与SQL
有人能帮我找出出错的原因吗?这与SQL语法相去甚远。我能从中得到的最好结果是,您尝试执行以下命令:
SELECT column_name
FROM information_schema.columns
WHERE table_name =\'admin-modules\'
LIMIT 1
如果您将此结果保存为结果,也许以后可以这样做
ascii(substring(result, 1),1)
但是我仍然不知道>0-在这里做什么。我想没人知道你不需要用反斜杠来逃避。sql查询应为:
select column_name from information_schema.columns where table_name = 'admin-modules' limit 1,1
见上面我的笔记。语法错误在于嵌套初始select,而不是尝试在FROM/WHERE之前对所选列执行asciisubstring 设置: 查询: 小提琴 您必须将所选列放在查询的正确位置。所以这会将您上面的选择更改为 从information_schema.columns中选择asciisubstringcolumn_name,1,1>0作为isASCII,其中table_name='admin modules'限制为1
“-”及其后的任何内容都将被忽略,因为“-”是SQL单行注释指示符。您的错误消息会告诉您问题所在。还要注意,“限制1,1”会选择查询中的第二行,而不是我假设您所要的第一行。”。带有2个参数的限制是限制偏移量,计数。第一行的偏移量应为0。仅第一行的限制值应为0,1。如果查询中没有处理太多行,请选择TOP 1。编辑:Oops。MySQL不做TOP。忽略那部分-/我不知道为什么您认为这与SQL语法相去甚远。您甚至建议将更改SQL语法作为解决方案的一部分。
CREATE TABLE foo (column_name varchar(10), table_name varchar(10));
INSERT INTO foo (column_name, table_name)
SELECT 'a','table1' UNION ALL
SELECT 'b','table1' UNION ALL
SELECT 'col1','table2' UNION ALL
SELECT 'c3','table1'
;
SELECT
substring(column_name,1,1) AS subCN
, ascii(substring(column_name,1,1)) AS asciiSubCN
, ascii(substring(column_name,1,1)) > 0 AS isASCII
FROM foo
WHERE table_name='table1'
LIMIT 0,1 -- This can be LIMIT 1 for just 1st row.
;
subCN | asciiSubCN | isASCII
:---- | ---------: | -------:
a | 97 | 1