PostgreSQL, Npg sql возвращение 42601: синтаксическая ошибка на уровне или около $ 1 - PullRequest
0 голосов
/ 27 февраля 2020

При передаче команды PostgreSQL после ошибки

42601: синтаксическая ошибка на уровне или около $ 1

using (Npgsql.NpgsqlConnection conn = new Npgsql.NpgsqlConnection(DBManager.GetConnectionString()))
            {
                conn.Open();
                Logger.Info("connection opened for adding column");
                using (Npgsql.NpgsqlCommand addColumnQuery = new Npgsql.NpgsqlCommand(@"ALTER TABLE @tableName ADD COLUMN IF NOT EXISTS @columnName  @columnType;", conn))
                {
                    addColumnQuery.Parameters.AddWithValue("@tableName", tableName);
                    addColumnQuery.Parameters.AddWithValue("@columnName", columnName);
                    addColumnQuery.Parameters.AddWithValue("@columnType", columnType);
                    addColumnQuery.ExecuteNonQuery();
                }
            }

1 Ответ

0 голосов
/ 28 февраля 2020

После некоторого тестирования я обнаружил, что в качестве параметра можно передавать только значения таблицы, а не имя таблицы и имя столбца. Поэтому я изменил код следующим образом

ALTER TABLE tableName ADD COLUMN columnName columnType;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...