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

MySQL gia tăng giá trị

Có:Sử dụng biến do người dùng xác định :

SET @position := 0; -- Define a variable
INSERT INTO products
SELECT id_product, id_category, name, (@position := @position + 1)
FROM db2.products
WHERE id_category = xxx;

Kết quả của việc tăng lên @position là giá trị được sử dụng cho phần chèn.

Chỉnh sửa:

Bạn có thể bỏ qua việc khai báo biến bằng cách xử lý giá trị ban đầu trong dòng:

...
SELECT ..., (@position := ifnull(@position, 0) + 1)
...

Điều này có thể đặc biệt hữu ích khi thực hiện truy vấn bằng trình điều khiển không cho phép nhiều lệnh (phân tách bằng dấu chấm phẩy).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào tôi có thể kết hợp hai thủ tục trong một để điền vào một bảng thay vì mỗi thủ tục trong hai thủ tục điền vào bảng của chính nó?

  2. Kiên trì và không liên tục - Tôi nên sử dụng cái nào?

  3. khởi động lại máy chủ mysql trên windows 7

  4. Golang, mysql:Lỗi 1040:Quá nhiều kết nối

  5. Sự khác biệt giữa câu lệnh sql và mệnh đề