How you modify SQL Lite tables which have many records?
Ruslan Zasukhin
ruslan_zasukhin at valentina-db.com
Thu Oct 28 12:11:52 EDT 2010
Hi Guys,
One developer, which try now implement some GUI around SQL Lite have touch
me with wonder that SQL Lite do not have any way to modify schema of
database.
At this URL
http://www.sqlite.org/omitted.html
You can read that
> Only the RENAME TABLE and ADD COLUMN variants of the ALTER TABLE command are
> supported. Other kinds of ALTER TABLE operations such as DROP COLUMN, ALTER
> COLUMN, ADD CONSTRAINT, and so forth are omitted.
And at this URL
http://www.sqlite.org/faq.html#q11
Is suggested "solution"
> SQLite has limited ALTER TABLE support that you can use to add a column to the
> end of a table or to change the name of a table. If you want to make more
> complex changes in the structure of a table, you will have to recreate the
> table. You can save existing data to a temporary table, drop the old table,
> create the new table, then copy the data back in from the temporary table.
>
> For example, suppose you have a table named "t1" with columns names "a", "b",
> and "c" and that you want to delete column "c" from this table. The following
> steps illustrate how this could be done:
>
> BEGIN TRANSACTION;
> CREATE TEMPORARY TABLE t1_backup(a,b);
> INSERT INTO t1_backup SELECT a,b FROM t1;
> DROP TABLE t1;
> CREATE TABLE t1(a,b);
> INSERT INTO t1 SELECT a,b FROM t1_backup;
> DROP TABLE t1_backup;
> COMMIT;
I wonder if this is true? And there is no any other more effective way ??
P.S.
COPY the whole table to just add/rename column?
Or just add Foreign Key ?
Wow?
And if table has million record? 100MB size? 1GB size ? More?
This is of course not a problem, if table has small records count ...
But still ... Somehow not comfortable as for me ...
Good rule of good developer says:
never believe your app will have small number of items ...
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the use-livecode
mailing list