我知道可以在一行中插入多个记录的语法是什么。 (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
我的参数分配方式是否错误? (通常我会通过赋值来做到这一点。)
在一个插入查询中将记录插入到自己的表中的最佳方法是什么?我可以写多个记录,但数量可能会有所不同。