Каков правильный синтаксис запросов MySQL в AWS DataApi для бессерверной базы данных Aurora SQL?

#mysql #amazon-web-services #amazon-rds #aws-serverless #aws-aurora-serverless

Вопрос:

У меня есть кластер баз данных AWS Aurora SQL без сервера, я включил для него DataApi, чтобы я мог запрашивать данные с консоли AWS , это нормально работает, если я это делаю select * from db.table_name LIMIT 10; , но там написано Database returned more than the allowed response size limit , если я запрашиваю без LIMIT 10 .

Из чтения документа AWS видно, что максимальный ответ составляет 1000, поэтому я думаю, что могу запросить с WHERE помощью staement, поэтому я попробовал:

 select * from db.table_name
where `data` == `xxxxx`;
 

Он жалуется:

 Database error code: 1064. Message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax 
 

Я попытался использовать другую цитату ' ' , все еще не работающую… кто-нибудь знает, какой здесь правильный синтаксис?
Спасибо.

Ответ №1:

== не является оператором в SQL.

Обратитесь к https://dev.mysql.com/doc/refman/5.7/en/non-typed-operators.html

Также обратные галочки являются правильным синтаксисом, но я предполагаю, что вы имеете в data виду, чтобы быть именем столбца и 'xxxxx' строковым литералом.

Используйте прямые одинарные кавычки для строковых литералов. Используйте обратные галочки только для идентификаторов.

Поэтому ваш запрос, вероятно, должен (я экстраполирую) выглядеть следующим образом:

 select * from db.table_name
where `data` = 'xxxxx';