我想使用单个插入查询在 SQLite 中添加多个项目/行,
insert into suppliers (supoliers_no,supply_name,city,phone_no)
values (1,'Ali','amman',111111), (2,'tariq','amman',777777), (3,'mohmmed','taiz',null);
可以使用 Sqlite 吗?
一行代码中的多个插入行是
INSERT INTO TableName ( Column1, Column2,Column3 ) VALUES
( Value1, Value2 ,Value3), ( Value1, Value2,Value3 );
在您的情况下,代码是正确的,但是
(3,'mohmmed','taiz',null);
尝试给予一些价值。你也可以从这里参考
这是可能的,但在 SQLITE 中执行此操作的方式不同,
尝试这个...
insert into myTable (mycol1,mycol2)
select aValue as mycol1,anotherValue as mycol2
union select moreValue,evenMoreValue
union...
在你的情况下,它会是,
INSERT INTO suppliers
SELECT 1 AS supoliers_no, 'Ali' AS supply_name, 'amman' AS city, 111111 AS phone_no
UNION SELECT 2 , 'tariq' , 'amman' , 77777
UNION SELECT 3 , 'mohmmed' , 'taiz', null
记住小写字母中的 null 在 SQL Lite 中有效,因为phone_no
在我的情况下,我在 INT 中创建了这个表和列
它应该是:-
insert into suppliers (supoliers_no,supply_name,city,phone_no) values (1,'Ali','amman',111111);
insert into suppliers (supoliers_no,supply_name,city,phone_no) values (2,'tariq','amman',777777);
insert into suppliers (supoliers_no,supply_name,city,phone_no) values (3,'mohmmed','taiz',null);
同样insert into suppliers (supoliers_no,supply_name,city,phone_no) values (3,'mohmmed','taiz',null);
asnull
不是 sql 中公认的关键字。所以你可能不得不尝试一下insert into suppliers (supoliers_no,supply_name,city,phone_no) values (3,'mohmmed','taiz','');
仅 SQLite 3.7.11及更高版本支持使用单个 INSERT 语句插入多条记录。在早期版本中,您必须使用INSERT ... SELECT ...
withUNION ALL
或使用多个语句。
我们假设您的表格设计良好,现在您可以在表格中插入多条记录:
INSERT INTO Table ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
作为参考,请查看 MOC 课程 2778A - 在 SQL Server 2008 中编写 SQL 查询,否则您的设计中会出现问题,例如您无法将空数据插入表中。