SQLite管理器插入失败,但不产生错误
我有一个SQLite DB,它有一个表:SQLite管理器插入失败,但不产生错误,sqlite,sqlitemanager,Sqlite,Sqlitemanager,我有一个SQLite DB,它有一个表: table: import_info Columns: First_Name, Last_Name, Payroll_ID, ... other columns not used tabel employees Columns: name, employee_num 我想在employees表中选择第一个表中的唯一名称和payroll_id作为name和employeer_num 如果我在SQLite管理器中选择表并运行: SELECT
table: import_info
Columns: First_Name, Last_Name, Payroll_ID, ... other columns not used
tabel employees
Columns: name, employee_num
我想在employees表中选择第一个表中的唯一名称和payroll_id作为name和employeer_num
如果我在SQLite管理器中选择表并运行:
SELECT DISTINCT Last_Name || ' ' || First_Name AS name, Payroll_ID
AS employee_num
FROM import_info
我得到了完美的结果。但如果我尝试:
INSERT INTO employees (name, employee_num)
SELECT DISTINCT Last_Name || ' ' || First_Name AS name, Payroll_ID
AS employee_num
FROM import_info
我什么也得不到。没有错误,什么也不会发生 您可以提供如下值:
INSERT INTO employees(name, employee_num, created_at, updated_at)
SELECT DISTINCT Last_Name || ' ' || First_Name AS name, Payroll_ID,
datetime('now'), datetime('now')
FROM import_info
但是,我很惊讶,忽略这些值不会导致错误。可能是什么原因抑制了错误。您是否尝试过从员工中选择*?insert实际上不返回任何内容。是的,它返回employees中的所有列,没有数据,因为该表是空的。import_info表有9000多行,每个员工有多个条目。因此,我认为我可能看到了问题所在。表结构是:CREATE table employees id INTEGER主键AUTOINCREMENT NOT NULL、name varchar、employeen_num INTEGER、created_at datetime NOT NULL、updated_at datetime NOT NULL,因此我不提供created_at或updated_at。知道如何为这两列的每一行提供一个虚拟值吗?谢谢,这太完美了。我在谷歌上搜索语法,但它让我很难理解如何表达它,以便谷歌给出答案。如果我把语法弄乱了,抛出一个错误是没有问题的。奇怪的是,它没有在我概述的案例中抛出一个。