2013-07-29 2 views
-1

Я преобразовал мою базу данных из MSQL в MySQL и получил следующую ошибку.Версия сервера MySQL для правильного синтаксиса для использования рядом с «VARCHAR (500))

Сообщения об ошибках: У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «VARCHAR (500)) =« Мужской »и« Ответы.res_void = 0 »в строке 22

Я не могу решить проблему, которая выглядит действительный для меня? Существует ли MySQL нет нет?

SELECT 
    Responses.res_col AS answer 
    ,Responses.res_created AS dateCreated 
    ,Responses.res_notes AS note 
    ,Responses.question_id AS questionID 
    ,Responses.res_id AS responseID 
    ,Responses.student_id AS studentID 
    ,Responses.res_answer AS subQuestion 
    ,Responses.survey_id AS surveyID 
    ,Responses.res_void AS void 
    ,Student.res_answer AS filter 
    FROM 
     Responses, Responses AS Student 
    WHERE 
     Responses.student_id = Student.student_id 
    AND 
     Responses.survey_id = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.surveyID#"> 
    AND 
     Student.survey_id = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.surveyID#"> 
    AND 
     Responses.question_id = <cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.questionID#">     AND 
     CAST(Student.res_answer AS VARCHAR(500)) = '#arguments.filter#' 
    AND Responses.res_void = <cfqueryparam cfsqltype="cf_sql_bit" value="#arguments.void#"> 
+0

@ ta.speot.is где? Этот код работает на MSSQL. – GrantU

+0

Но вы отметили его как MySQL. Который из них? – Bojangles

+1

@Bojangles Прочитайте * очень первую строку * OP: * Я преобразовал мою базу данных из MSQL в MySQL, и я получаю следующую ошибку. *, Поэтому он конвертирует свои запросы из MSSQL в MySQL. – h2ooooooo

ответ

2

Вы не можете отличить их от VARCHAR(). Единственный тип текста, вы можете бросить в это CHAR(n):

CAST(Student.res_answer AS CHAR(500)) = '#arguments.filter#' 

С mysql doc, тип результата может быть одним из следующих значений:

  • BINARY[(N)]
  • CHAR[(N)]
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [INTEGER]
+0

VARCHAR был проблемой благодаря – GrantU

Смежные вопросы

 Смежные вопросы