जैसा कि दूसरों ने बताया है
एक स्तंभ का नाम बदलना, एक स्तंभ को हटाना, या एक तालिका से बाधाओं को जोड़ना या निकालना संभव नहीं है।
स्रोत: http://www.sqlite.org/lang_altertable.html
जबकि आप हमेशा एक नई तालिका बना सकते हैं और फिर पुराने को छोड़ सकते हैं। मैं इस वर्कअराउंड को एक उदाहरण के साथ समझाने की कोशिश करूंगा ।
sqlite> .schema
CREATE TABLE person(
id INTEGER PRIMARY KEY,
first_name TEXT,
last_name TEXT,
age INTEGER,
height INTEGER
);
sqlite> select * from person ;
id first_name last_name age height
---------- ---------- ---------- ---------- ----------
0 john doe 20 170
1 foo bar 25 171
अब आप height
इस तालिका से कॉलम हटाना चाहते हैं ।
नामक एक और तालिका बनाएँ new_person
sqlite> CREATE TABLE new_person(
...> id INTEGER PRIMARY KEY,
...> first_name TEXT,
...> last_name TEXT,
...> age INTEGER
...> ) ;
sqlite>
अब पुराने टेबल से डेटा कॉपी करें
sqlite> INSERT INTO new_person
...> SELECT id, first_name, last_name, age FROM person ;
sqlite> select * from new_person ;
id first_name last_name age
---------- ---------- ---------- ----------
0 john doe 20
1 foo bar 25
sqlite>
अब ड्रॉप person
तालिका और नाम बदलने new_person
के लिएperson
sqlite> DROP TABLE IF EXISTS person ;
sqlite> ALTER TABLE new_person RENAME TO person ;
sqlite>
तो अब यदि आप एक करते हैं .schema
, तो आप देखेंगे
sqlite>.schema
CREATE TABLE "person"(
id INTEGER PRIMARY KEY,
first_name TEXT,
last_name TEXT,
age INTEGER
);