Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wyrafinowana wartość zwracana przez MySQL

LAST_INSERT_ID będzie zachowywać się tak, jak opisałeś, ale masz niepowiązany błąd w poprzedniej instrukcji INSERT, ponieważ nie zawiera średnika na końcu. Podczas diagnozowania błędów składniowych w MySQL, ciąg SQL zawarty w komunikacie o błędzie jest zwykle bezpośrednio po błędzie składni.

Rozważ reorganizację swoich instrukcji pod kątem czytelności, aby łatwiej identyfikować takie błędy składniowe. Na przykład:

public void Insert(TUser member)
{
    string sql = @"
        Insert into users
          (UserName, PasswordHash, SecurityStamp, Email, EmailConfirmed, PhoneNumber, PhoneNumberConfirmed, AccessFailedCount, LockoutEnabled, LockoutEndDateUtc, TwoFactorEnabled)
        values 
          (@name, @pwdHash, @SecStamp, @email, @emailconfirmed, @phonenumber, @phonenumberconfirmed, @accesscount, @lockoutenabled, @lockoutenddate, @twofactorenabled);

        select LAST_INSERT_ID();
    ";

    member.Id = db.Connection.ExecuteScalar<int>(sql, new
    {
      name = member.UserName,
      pwdHash = member.PasswordHash,
      SecStamp = member.SecurityStamp,
      email = member.Email,
      emailconfirmed = member.EmailConfirmed,
      phonenumber = member.PhoneNumber,
      phonenumberconfirmed = member.PhoneNumberConfirmed,
      accesscount = member.AccessFailedCount,
      lockoutenabled = member.LockoutEnabled,
      lockoutenddate = member.LockoutEndDateUtc,
      twofactorenabled = member.TwoFactorEnabled
    });
}

Według tej odpowiedzi , możesz również usunąć obsadę na LAST_INSERT_ID jeśli używasz najnowszej wersji MySQL.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Biała strona prostego skryptu logowania php

  2. Jeśli zmienna jest równa wartości php

  3. DOŁĄCZ do trzech stołów

  4. MySQL - Jak wybrać wiersze z maksymalną wartością pola

  5. Jak przechowywać pliki .pdf w MySQL jako bloki BLOB przy użyciu PHP?