npgsql 创建表
Npgsql to create tables
我正在努力使用 Npgsql
创建一个 table。
using (NpgsqlCommand command = new NpgsqlCommand("CREATE TABLE @tableName(asdf TEXT)", con))
{
command.Parameters.Add(new NpgsqlParameter("@tableName", "test"));
command.ExecuteReader();
}
抛出异常:
Npgsql.PostgresException: '42601: syntax error at or near ""'
,这并没有提供任何线索来找出问题所在。
如何使用参数创建 table?真的可以吗?
Table 名称不能参数化——您必须将名称集成到您的 DDL 字符串中;参数化是(除其他外)关于生成和重用单个查询计划而不考虑参数的内容,但这不适用于 CREATE TABLE 语句。
如果需要动态建表,可以使用字符串插值,但一定要正确转义,避免SQL用户输入注入。
我正在努力使用 Npgsql
创建一个 table。
using (NpgsqlCommand command = new NpgsqlCommand("CREATE TABLE @tableName(asdf TEXT)", con))
{
command.Parameters.Add(new NpgsqlParameter("@tableName", "test"));
command.ExecuteReader();
}
抛出异常:
Npgsql.PostgresException: '42601: syntax error at or near ""'
,这并没有提供任何线索来找出问题所在。
如何使用参数创建 table?真的可以吗?
Table 名称不能参数化——您必须将名称集成到您的 DDL 字符串中;参数化是(除其他外)关于生成和重用单个查询计划而不考虑参数的内容,但这不适用于 CREATE TABLE 语句。
如果需要动态建表,可以使用字符串插值,但一定要正确转义,避免SQL用户输入注入。