我正在尝试将多个值插入到我的数据库中的单个单元格列中。我正在使用这样的sql语句:
insert into table_name (mycol) values (1A,2B,3G,4,5,6F)
此表只有一个名为“mycol”的字段
上面的查询没有运行并给我一个错误。但是,如果我像这样运行单个条目: 插入table_name(mycol)值(1A) 它有效!
有没有办法为sql提供多个值?
答案 0 :(得分:2)
你必须像这样分解值部分(如果你使用的是SQL Server)
insert into table_name (mycol) values (1A),(2B),(3G),(4),(5),(6F)
答案 1 :(得分:1)
Based on this article,您可以这样做:
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
UNION ALL
SELECT 'Fourth' ,4
UNION ALL
SELECT 'Fifth' ,5
GO
答案 2 :(得分:1)
我强烈建议反对在单个字段中存储多个值。通常情况下,您可以选择单独的字段或多行......
如果学生X在课程A,B,C;
INSERT INTO mapping_table (student_id, course_id)
SELECT 123, 1
UNION ALL SELECT 123, 2
UNION ALL SELECT 123, 3
如果学生X在他的地址中有3行;
INSERT INTO student_address (student_id, line1, line2, line3)
SELECT 123, '10 The Street', 'The Town', 'The City'
答案 3 :(得分:0)
您需要转动所选值或执行以下操作:
INSERT dbo.Table_1(mycol)
SELECT * FROM
(
SELECT '1a' AS mycol UNION
SELECT '2b' UNION
SELECT '3g' UNION
SELECT '4' UNION
SELECT '5'
) T1