Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql concat и вмъкнете в не работи

Използвайте INSERT INTO...SELECT

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

Можете да пропуснете колоната productid ако е AUTO_INCREMENT колона.

Чудех се защо трябва да изпълните select pid=last_insert_id(); когато pid е IN параметър .

АКТУАЛИЗАЦИЯ 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. Двойна заявка mysql/php за ajax

  2. ГРЕШКА 1030 (HY000) на ред 25:Получих грешка 168 от устройството за съхранение

  3. MySql - HAVING срещу WHERE

  4. Трик за присъединяване към MySQL с 3 таблици

  5. Операция, подобна на MySQL, за да получите разбивка на процента от общите събития на ден по тип събитие