Bug #1064 show create table sets Field.length=1024 for the second column
Submitted: 16 Aug 2003 3:17 Modified: 21 Aug 2003 12:10
Reporter: paladin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:3.23.49 OS:Windows (winXXXX)
Assigned to: Sergei Golubchik CPU Architecture:Any

[16 Aug 2003 3:17] paladin
Description:
Using Borland's Delphi (dbExpress) drivers to access MySQL,
issuing the command "show create table SomeTable" fails if
the resulting text is > 1024 chars.  ( table description is
truncated after 1024 chars.)

The Borland developer[s] claim this is due to the field.length
metadata for the second field ('Create Table') being returned
as 1024, even if the resultant string to describe a table is longer.

comment?

How to repeat:
delphi snippet:

SQLConn1.Execute('show create table sometable', nil, @SQLDataSet1);

where sometable is large enough so that show create table > 1024 chars.
[21 Aug 2003 12:10] Sergei Golubchik
closed in 4.0.15 and 3.23.59
[30 Jun 2005 16:13] Vincent MARY
Hi

I am having a problem. I have got a text field in a mySQL table. Using ODBC it seems the field is truncated to 1024 characters.

Any fix for that ? I am trying to export data in Delphi to an excel file with ODBC.

Cheers

Vincent
[20 Aug 2006 7:57] Aniruddha Navare
Hi All,

I am using mySQL 4.1.21 version and tried to run following query
-------------------

CREATE FUNCTION getParentID(IDP INT) RETURNS int
BEGIN

DECLARE idRS INT;
DECLARE nameRS varchar(100);
DECLARE displayIDRS INT;

select id,name,displayID into idRS,nameRS,displayIDRS from tblItems
	where ID = (select parentID from tblItems where id = IDP);

if displayIDRS = 15 then
	select id into idRS from tblItems
		where ID = (select parentID from tblItems where id = idRS);
end if;

RETURN idRS;
END

-------------------

It gives me error code 1064 with this error description. 

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 1"

Please send me details about this .

Thanks
Aniruddha Navare
aniruddha.navare@gmail.com
[21 Nov 2007 6:15] srinath nannajkar
Hi All,

I am using mySQL 4.1.21 version and tried to run following query
-------------------

create trigger tI_SSPD_Columns
after INSERT on SSPD_Columns 
for each row begin

declare numrows INTEGER;

   select count(*) into numrows 
	 from SSPD_Links
   where
     new.AI_STAGE_RECORD_ID = SSPD_Links.AI_STAGE_RECORD_ID and
     new.AI_LINK_RECORD_ID = SSPD_Links.AI_LINK_RECORD_ID and
     new.AI_JOB_ID = SSPD_Links.AI_JOB_ID and
     new.AI_SERVER_ID = SSPD_Links.AI_SERVER_ID and
     new.AI_PROJECT_ID = SSPD_Links.AI_PROJECT_ID and
     new.AI_STAGE_ID = SSPD_Links.AI_STAGE_ID;
    if (
      numrows = 0
    )
    then
      raise_application_error(-20002,'Cannot INSERT SSPD_Columns because SSPD_Links does not exist.'
      );
    end if; 
end ;
-------------------

It gives me error code 1064 with this error description. 

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(-20002,'Cannot INSERT SSPD_Columns because SSPD_Links does not exist.'
      )' at line 9"

Please send me details about this .

Thanks
Srinath N
srinath.svn@gmail.com
[28 Apr 2009 20:55] imelda mueni
ALTER TABLE jos_users ADD phone VARCHAR (100) NO NULL AFTER `username;

giving me error