Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Nilai pengembalian MySQL yang rapi

LAST_INSERT_ID akan berperilaku seperti yang telah Anda jelaskan, tetapi Anda memiliki kesalahan yang tidak terkait dalam pernyataan penyisipan sebelumnya karena tidak menyertakan titik koma di bagian akhir. Saat mendiagnosis kesalahan sintaks di MySQL, string SQL yang terdapat dalam pesan kesalahan biasanya segera setelah kesalahan sintaksis.

Pertimbangkan untuk mengatur ulang pernyataan Anda agar mudah dibaca, sehingga Anda dapat mengidentifikasi kesalahan sintaks seperti ini dengan lebih mudah. Misalnya:

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
    });
}

Per jawaban ini , Anda mungkin juga dapat menghapus pemeran di LAST_INSERT_ID jika Anda menjalankan versi MySQL terbaru.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Buat array PHP dari kolom MySQL

  2. Mengelola Liquibase dengan model pengembangan GitFlow

  3. Tidak dapat melihat nilai bidang MySQL BIT saat menggunakan SELECT

  4. Dapatkan uuid yang dihasilkan setelah memasukkan php

  5. MySQL, gabungkan setara untuk nilai kosong?