【发布时间】:2014-11-17 16:51:55
【问题描述】:
我所做的只是重新制作一个表并在列上添加空常量和默认值:
原始表结构(现已重命名):
CREATE TABLE "CARTWEIGHTS_old" (
EntryTime DateTime,
Employee TEXT,
PLUGS NUMERIC,
ID INTEGER PRIMARY KEY,
PO NUMERIC,
FUSER INTEGER,
REMAN INTEGER,
OEM INTEGER,
DIGITEK INTEGER,
LEXMARK INTEGER,
PDW INTEGER,
TRASH INTEGER,
CART TEXT,
"Voided" BOOL NOT NULL DEFAULT 0
)
新表:
CREATE TABLE CARTWEIGHTS (
EntryTime DateTime,
Employee TEXT,
PLUGS NUMERIC NOT NULL DEFAULT 0,
ID INTEGER PRIMARY KEY,
PO NUMERIC,
FUSER INTEGER NOT NULL DEFAULT 0,
REMAN INTEGER NOT NULL DEFAULT 0,
OEM INTEGER NOT NULL DEFAULT 0,
DIGITEK INTEGER NOT NULL DEFAULT 0,
LEXMARK INTEGER NOT NULL DEFAULT 0,
PDW INTEGER NOT NULL DEFAULT 0,
TRASH INTEGER NOT NULL DEFAULT 0,
CART TEXT,
"Voided" BOOL NOT NULL DEFAULT 0
)
然后当我尝试运行时:
insert into CARTWEIGHTS
select * from CARTWEIGHTS_old
CARTWEIGHTS 表未使用该信息进行更新。 SQLite 也没有给我任何错误。
【问题讨论】:
-
select * from CARTWEIGHTS_old 返回什么?
-
@AndreDuarte 它返回的正是预期的,表中的所有数据......
-
SQLite 是否支持这种类型的操作?奇怪的是它没有返回任何错误......
-
主键有关联的序列吗?
-
@AndreDuarte 这就是我将插入切换为不包含 ID 列的答案,它起作用了。我只是希望它会抛出错误......
标签: sql select sqlite insert bulkinsert