私はMySQLの初心者ですが、レコードを挿入する前にデータベースにユーザーが存在するかどうかを確認しようとしていますが、SQL構文でこのエラー1064が発生します。 MySQLの声明ASP.NetでMySQLを挿入中にエラーが発生しました
IF (SELECT count(*) FROM tvstream.t_users WHERE fb_id=`123456`)=0 THEN
Begin
INSERT INTO `tvstream`.`t_users` (`fb_id` ,`user_name` ,`email` ,`gender`)
Values (`123456`,`Daina`,`[email protected]`,`Female`)
End
ASPコードは
StringBuilder SQL_Add = new StringBuilder("IF (SELECT count(*) FROM tvstream.t_users WHERE fb_id=`" + fb_id +"`)=0 THEN ");
SQL_Add.Append("Begin ");
SQL_Add.Append("INSERT INTO `tvstream`.`t_users` (`fb_id` ,`user_name` ,`email` ,`gender`)");
SQL_Add.Append(" Values (`" + fb_id + "`,`" + user_name + "`,`" + email + "`,`" + gender + "`)");
SQL_Add.Append(" End");
Response.Write(SQL_Add.ToString());
MySqlConnection m_cnn = new MySqlConnection(myConnection);
m_cnn.Open();
MySqlCommand cmd = new MySqlCommand(SQL_Add.ToString());
cmd.Connection = m_cnn;
cmd.ExecuteNonQuery();
アドバイスやあなたはユーザーexistanceをチェックするための1つのSQLクエリを作成する必要がありますあなたの
[データベースへの重複エントリの防止]の可能な複製(https://stackoverflow.com/questions/40478342/prevent-duplicate-entries-to-database) – e4c5