我想使用单个插入查询在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?
答案 0 :(得分:2)
应该是: -
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);
null
不是sql中可识别的关键字。所以你可能需要尝试insert into suppliers (supoliers_no,supply_name,city,phone_no) values (3,'mohmmed','taiz','');
答案 1 :(得分:2)
一行代码中的多个插入行是
INSERT INTO TableName ( Column1, Column2,Column3 ) VALUES
( Value1, Value2 ,Value3), ( Value1, Value2,Value3 );
在你的情况下代码是正确的,但
(3,'mohmmed','taiz',null);
尝试给予一些价值。
你也可以从这里参考
答案 2 :(得分:2)
这是可能的,但在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中工作,因为我创建了此表,在我的情况下在INT中使用phone_no
列
答案 3 :(得分:0)
仅在SQLite 3.7.11及更高版本中支持使用单个INSERT语句插入多个记录。
在早期版本中,您必须将INSERT ... SELECT ...
与UNION ALL
一起使用,或使用多个语句。
答案 4 :(得分:-1)
我们假设您的桌面设计得很好,现在您可以在表格中插入多条记录:
INSERT INTO Table ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
有关这方面的参考,请参阅MOC课程2778A - 在SQL Server 2008中编写SQL查询,这项工作可能会导致您的设计出现问题,例如您无法在表中插入空数据。