如何在MySQL的一个INSERT中添加多个记录?

时间:2019-03-29 15:14:00

标签: c# mysql insert

我知道可以在一行中插入多个记录的语法是什么。 (here)。 但是,在我的情况下,传入记录的数量是不固定的,因此我正在尝试一种解决方法,以便仍可以使用该方法。

INSERT INTO tasks(title, priority)
VALUES
 ('My first task', 1),
 ('It is the second task',2),
 ('This is the third task of the week',3);

我已经按照以下步骤设置了传入数据:

foreach (var item in oListing.items)
            {
                string s1 = String.Format("({0},{1},{2})", Enum.GetName(typeof(ItemType), item.itemSize), item.ItemPrice, DateTime.Now.ToUniversalTime());
                portion_price.Add(s1);
            }
            string string_portion_price = string.Join(",", portion_price);

然后我将“ string_portion_price”与“ AddWithValue”一起使用,如下所示:

其中一个组装字符串是:(SMALL,2.50,3 / 29/2019 3:06:39 PM)

oCommand.Parameters.AddWithValue("@string_portion_price", string_portion_price);

我的SQL语句是:

  INSERT INTO listing_price (SIZE, PRICE, PRICES_ADD_CHANGE_DATE)
                                    VALUES @string_portion_price;";

我收到一条错误消息,指出此SQL语句附近存在语法错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''(SMALL,2.50,3/29/2019 3:06:39 PM)'' at line 2

我的参数分配方式是否错误? (通常我会通过赋值来做到这一点。)

在一个插入查询中将记录插入到自己的表中的最佳方法是什么?我可以写多个记录,但数量可能会有所不同。

0 个答案:

没有答案