這里簡單的記述一下.net core ef mysql in 參數化執行sql時踩的坑,在使用IN函數的時候發現無論怎樣寫都無法執行成功(1.程序執行過程報錯、2.程序執行成功但是數據庫狀態沒有更改)后來就選擇了
FIND_IN_SET函數。
sql語句
update businessnotice set baseisdelete = @baseisdelete where FIND_IN_SET (id,@ids);
@baseisdelete參數
new MySqlParameter("@baseisdelete", 1)
@ids
new MySqlParameter("@ids", "e5051a85b1744af0a98ffd30b0d34cbb,8e6314db7fad402a81ed535bd6fd1c01,894989c6502b43b997d2fbfa4dd73050")
完整的sql語句為:
update businessnotice set baseisdelete = 1 where FIND_IN_SET (id,'e5051a85b1744af0a98ffd30b0d34cbb,8e6314db7fad402a81ed535bd6fd1c01,894989c6502b43b997d2fbfa4dd73050');
注意坑:
ids中的參數不要帶上單引號(“'”)否則就會出現程序執行成功,但是test表的baseisdelete 字段值沒有改變的情況。