在sqlite3中更改列并将其添加到表中
问题描述:
如果我更改表并添加一个新列,将添加从该表中删除的数据。在sqlite3中更改列并将其添加到表中
ALTER TABLE MyTable ADD COLUMN noOfDays integer default 0 NOT NULL
将上面的SQL命令降MyTable的,然后用noOfDays列ALTER它还是会只是没有放弃它添加noOfDays列。
答
不,add
只是添加列。它的数据都不会被删除,表格也不会被删除。
p.s.从文档
“注意:另外,当添加CHECK约束时,CHECK约束不会针对表的预先存在的行进行测试。” (查询更多SQLite说明书)
非常感谢您的回答! – 2013-03-27 19:46:28
据我记得你必须更新默认值到现有的行(目前无法在文档中找到它);检查实例http://stackoverflow.com/questions/3492947/insert-a-not-null-column-to-an-existing-table – Trinimon 2013-03-27 19:51:28
我相信我上面的SQL将创建一个noOfDays列,并插入0作为默认值。 – 2013-03-27 19:54:24