Erro na criação de tabela no MySQL

Forum sobre SQL.

Moderador: Moderadores

cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Erro na criação de tabela no MySQL

Mensagem por cjp »

Colegas,

Estou enfrentando erro ao criar uma tabela no MySQL, e não estou conseguindo entender a razão do erro. Já criei outras tabelas de forma semelhante, sem problemas. Está conectando normalmente ao banco de dados, mas a RDDINFO está retornando falso.

Estou fazendo assim:

Código: Selecionar todos

Function CriaTabrec()
         Local cQuery
         RDDSETDEFAULT( "SQLMIX" )
         nConnection := RDDINFO( 1001, { "ODBC", "Server=mysql.inaciocarvalho.com.br;Driver={MySQL ODBC 3.51 Driver};dsn=;User=inaciobr2;pwd=04inac04;database=inaciobr2;" } )
         IF nConnection == 0
            Alert("Erro na conexao com o servidor")
            RDDSETDEFAULT( "DBFNTX" )
            Return .f.
         ENDIF
         cQuery:="DROP TABLE recado"  //remove tabela
         RDDINFO(1003, cQuery)

         cQuery:="CREATE TABLE recado ("+;
	      "DATA date,"+;
          "HORA char(8),"+;
          "USUARIO char(1),"+;
          "RECADO char(700),"+;
          "RESPOSTA char(700),"+;
          "VISTO char(1))"
         If !RDDINFO(1003, cQuery)
            Alert("Erro ao criar a tabela")
            RDDSETDEFAULT( "DBFNTX" )
            return .f.
         EndIf
Return .t.
Alguém saberia me informar a razão do erro?
Inacio de Carvalho Neto
Avatar do usuário
bencz
Usuário Nível 4
Usuário Nível 4
Mensagens: 524
Registrado em: 28 Abr 2012 17:36
Contato:

Erro na criação de tabela no MySQL

Mensagem por bencz »

Simples....

Código: Selecionar todos

RECADO char(700),
o erro está ai, o tamanho maximo é 255

Para seu caso, de tamanho 700, tente da seguinte forma;

Código: Selecionar todos

CREATE TABLE recado (DATA date,
          HORA char(8),
          USUARIO char(1),
          RECADO TEXT(700),
          RESPOSTA TEXT(700),
          VISTO char(1))
Imagem
cjp
Usuário Nível 6
Usuário Nível 6
Mensagens: 1563
Registrado em: 19 Nov 2010 22:29
Localização: paraná
Contato:

Erro na criação de tabela no MySQL

Mensagem por cjp »

Já consegui achar o problema: o campo char não pode ter mais de 255 espaços. Curioso isso: até o Harbour admite número ilimitado. Mas já mudei o tipo e resolvi.
Inacio de Carvalho Neto
Responder