Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có thủ thuật nào để cho phép MySQL bỏ qua dấu phẩy ở cuối trong mệnh đề SET của câu lệnh UPDATE không?

Trừ khi bạn sẵn sàng sao chép một giá trị như Igoel đề xuất (có thể không lý tưởng nếu giá trị đó dài dòng), câu trả lời đơn giản là không .

Một khả năng đáng khuyến khích ngắn gọn là sử dụng bí danh NEW đại diện cho các giá trị đến, để giá trị cuối cùng có thể được nhân đôi mà không thực sự phải trình bày lại nó trong truy vấn (và tôi hy vọng rằng điều này sẽ được trình tối ưu hóa truy vấn loại bỏ):

UPDATE `myTable` SET 
   `Field1` = "value",
   `Field2` = "value",
   `Field3` = "value",
--- `Field3` = NEW.`Field3`
WHERE `Field4` = "value";

Than ôi, điều này không được hỗ trợ trong UPDATE , chỉ bên trong thân trình kích hoạt.

Bạn sẽ phải thực hiện thao tác trong C ++ của mình trước khi thực hiện câu lệnh, thông qua thay thế ký tự (, cho ) hoặc loại bỏ ký tự; cái trước có thể tạo ra mã phức tạp hơn hiện tại của bạn và cái sau có thể không hiệu quả (tùy thuộc vào cấu trúc của mã xây dựng truy vấn của bạn), nhưng đó vẫn là lựa chọn tốt nhất của bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. diễn đàn php tùy chỉnh - hiển thị các bài viết mới / chưa đọc

  2. Kiểm tra khoảng thời gian giữa các ngày trong PHP

  3. LỖI:HHH000299:Không thể hoàn tất cập nhật giản đồ java.lang.NullPointerException

  4. MySQL Loại bỏ dấu ngắt dòng ở cuối khỏi một cột

  5. Làm thế nào để chèn một tệp trong cơ sở dữ liệu MySQL?