SQLite - alter a table's column type?

后端 未结 4 1871
醉话见心
醉话见心 2020-12-25 12:25

I am starting a project involving a small database and I am considering to use SQLite. If I create a table and I defined one of the columns as text, but all the values stor

相关标签:
4条回答
  • 2020-12-25 12:31

    No, there is no "quick" way to do this with SQLite. Not like you can with MySQL. You will have to drop the table, then re-add it.

    Another thing to keep in mind is that SQLite is pretty flexible about the type of data that you can put into each section. Here is a link that describes the datatypes, and how they work: http://www.sqlite.org/datatype3.html

    Another option might be to use MySQL if the feature you are speaking of is a big deal to you. It's still free and is great for small projects.

    0 讨论(0)
  • 2020-12-25 12:45

    With sqllite manager 3.5 double clic on the table that you need to modify

    0 讨论(0)
  • 2020-12-25 12:46

    SQLite does not fully support ALTER TABLE statements. The only thing you can do is rename a table and/or add columns. If you want to rename a column, your best option is to create a new table with the new columns datatype/names, and to drop the old table in order to rename the new one.

    Lets say, you have a table and need to rename "field-1" to "field-2": First ==>> rename the old table:

        ALTER TABLE original RENAME TO tmp;
    

    Now create the new table based on the old table but with the updated column name:
    ==>> create a table with the updated columns

        CREATE TABLE original(
        field_a INT
       , field_b INT
        );
    

    Then copy the contents across from the original table.

       INSERT INTO origignal(field_a, field_b)
       SELECT field_a, field_b
       FROM tmp;
    

    Lastly, drop the old table.

       DROP TABLE tmp;
    
    0 讨论(0)
  • 2020-12-25 12:48

    Alter table in SqliteManger

    Steps

    1. Open database in sqlite manage
    2. double click on table name
    3. will popup alter window.
    0 讨论(0)
提交回复
热议问题