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

mysql concat và insert vào không hoạt động

Sử dụng INSERT INTO...SELECT

insert into products(productname,proddescription,supplier,lastpurchasedate,quantityleft)
select concat('PID',pid,pname),pdesc,psupp,pdate,pquant

Bạn có thể bỏ qua cột productid nếu đó là AUTO_INCREMENT cột.

Tôi đã tự hỏi tại sao bạn cần thực thi select pid=last_insert_id(); khi pid là một IN tham số .

CẬP NHẬT 1

DROP PROCEDURE `inserproducts`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `inserproducts`
(
   pid int,
   pname varchar(50),
   pdesc varchar(50),
   psupp varchar(50),
   pdate date,
   pquant int
)
begin

    insert into products
          (productname,
           proddescription,
           supplier,
           lastpurchasedate,
           quantityleft)
    select concat('PID',pid,pname), pdesc, psupp, pdate, pquant;

    select last_insert_id();
end$$
DELIMITER ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm kiếm toàn văn bản trong MySQL không khớp

  2. Lỗi truy vấn mô hình Laravel:Illuminate \ Database \ QueryException:SQLSTATE [23000]:Vi phạm ràng buộc toàn vẹn

  3. Cách chính xác để lưu trữ các mục có thuộc tính có thể lọc?

  4. Đã vượt quá thời gian chờ của khóa; thử khởi động lại giao dịch bằng JDBC

  5. MySQL thay đổi bảng tạo lỗi khi đổi tên