Thread: Insert a long text
Hello! I want to insert a long text (up to 10.000 words) into a table (for example, table1) into a field (field1) which is a 'text'field. I have tried the followings: INSERT INTO table1 VALUES (' long text'...) UPDATE table1 SET field1='long text' and is not working. I'm using servlets and Apache server, on Linux. In MSAccess is working also this statement: UPDATE table1 SET field1 = field1 & 'short text' but in postgres I don't know how to do this. Thank you, Ghita Voda
On Fri, 19 Feb 1999, Ghita Voda wrote: > Hello! > > I want to insert a long text (up to 10.000 words) into a table (for example, table1) into a field (field1) which is a 'text'field. > I have tried the followings: > INSERT INTO table1 VALUES (' long text'...) > UPDATE table1 SET field1='long text' > and is not working. > I'm using servlets and Apache server, on Linux. What data type are you using for the text field? As far as I know, the 'text' datatype can only take 8K. I don't know what the maximum size for varchar is. Brian -- "No matter how cool your interface, it would be better if there were less of it" -- Alan Cooper
>>>>> "BB" == Brian Baquiran <brianb@evoserve.com> writes: >> I want to insert a long text (up to 10.000 words) into a table (for example, table1) into a field (field1) which is a'text' field. >> I have tried the followings: >> INSERT INTO table1 VALUES (' long text'...) >> UPDATE table1 SET field1='long text' >> and is not working. >> I'm using servlets and Apache server, on Linux. BB> What data type are you using for the text field? As far as I know, the 'text' BB> datatype can only take 8K. BB> I don't know what the maximum size for varchar is. BB> Brian 8K is maximum length of whole record. In your case you must use 'large objects' as datatype for big text. -- Anatoly K. Lasareff Email: tolik@icomm.ru Senior programmer
Anatoly K. Lasareff hat gesagt: // Anatoly K. Lasareff wrote: > >>>>> "BB" == Brian Baquiran <brianb@evoserve.com> writes: > > >> I want to insert a long text (up to 10.000 words) into a table > >> (for example, table1) into a field (field1) which is a 'text' > >> field. I have tried the followings: INSERT INTO table1 VALUES (' > >> long text'...) UPDATE table1 SET field1='long text' and is not > >> working. I'm using servlets and Apache server, on Linux. > > BB> What data type are you using for the text field? As far as I > BB> know, the 'text' datatype can only take 8K. > > BB> I don't know what the maximum size for varchar is. > > 8K is maximum length of whole record. In your case you must use 'large > objects' as datatype for big text. How does one do this, preferably with perl and DBI? What is the best way to handle big (>= 8k) text fields? It would be nice if postgres could have an easy interface for larger text sizes or a set of example functions to deal with such chunks. A connected question of mine is: I have played with the data types text and varchar to store some text from a webbrowser with a perl-DBI cgi script. The table has one INT field called "id" and one text field where I tested the types: text, varchar, varchar(2000) and varchar(7000). Inserting text only works if the text is a lot smaller than 8k - only about 20 lines of text get inserted without beeing cropped. How can I assert that the whole text gets inserted and how can I get a message/error if the text did not fit or has been shortend? Has anybody an example script or perl code snippet with text fields roughly 2000-4000 bytes long? This problem annoys me for some weeks now so I think I am an idiot and Postgres proves it... Any help would be great and maybe let me sleep better ;) -- __ __ Frank Barknecht ____ ______ ____ __ trip\ \ / /wire ______ / __// __ /__/ __// // __ \ \/ / __ \\ ___\ / / / ____/ / / / // ____// /\ \\ ___\\____ \ /_/ /_____/ /_/ /_//_____// / \ \\_____\\_____\ /_/ \_\