Я хочу отказаться от таблицы, только если она существует, в C# с MySql.Удалить таблицу, если она существует в C#?
Рассмотрим следующий код:
namespace CSharpMySqlSample
{
class Example2
{
static void Main()
{
String str = @"server=localhost; database=sakila; uid=root; password=root;";
MySqlConnection con = null;
try
{
con = new MySqlConnection(str);
con.Open(); //open the connection
String cmdText = @"drop table `sakila`.`testable` if exists"; // this one drops a table
MySqlCommand cmd = new MySqlCommand(cmdText, con);
cmd.Prepare();
cmd.ExecuteNonQuery(); //execute the mysql command
}
catch (MySqlException err)
{
String outp = err.ToString();
Console.WriteLine("Error: " + err.ToString());
}
finally
{
if (con != null)
{
con.Close(); //close the connection
}
} //remember to close the connection after accessing the database
}
}
}
Он производится:
«MySql.Data.MySqlClient.MySqlException: У вас ошибка в вашем SQL синтаксиса , проверьте руководство, которое соответствует версию сервера MySQL для правильного синтаксиса для использования рядом с 'if exists' в строке 1 \ r \ n на MySql.Data.MySqlClient.MySqlStream.ReadPacket() \ r \ n на MySql.Data.MySqlClient.NativeDriver. GetResult (Int32affectedRow, Int64 & insertedId) \ г \ п на MySql.Data.MySqlClient.Driver.GetResult (Int32 StatementId, Int32 & affectedRows, Int64 & insertedId) \ г \ п на MySql.Data.MySqlClient.Driver. NextResult (Int32 StatementId, булева сила) \ г \ п на MySql.Data.MySqlClient.MySqlDataReader.NextResult() \ г \ п на MySql.Data.MySqlClient.MySqlCommand.ExecuteReader (CommandBehavior поведение) \ г \ п на MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() \ г \ п на MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() \ г \ п на CSharpMySqlSample.Example2.Main()
В чем проблема с запросом?
Не знал, что MySQL имеет функцию OBJECT_ID() ' –
Черт. По какой-то причине я думал, что он использует T-SQL (MS-SQL Server). Виноват. – HaukurHaf