插入新记录但需要另一个表中select语句的列-在php中失败

j2cgzkjk  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(342)

我试图通过php表单在表中添加一条记录。在执行之前,需要从另一个表中选择一个必需字段并将其添加到insert语句中。
这是mysql代码,在workbench中可以很好地工作,它得到select部分,同时包含insert部分。我的php表单返回一个错误,表示'serial'值为null,因此'add'失败。
这是工作程序-

INSERT INTO table_1 
(type, version, regn, comments, serial)
VALUES ('797', '109F','KILO','new entry', (SELECT serial  
FROM table_2 WHERE consno = '999999'))

作为一个对这一点非常陌生的人,我记得我读过一些类似于php中不可能出现的多个语句的东西,对于如何让这个“insert”在php中工作有任何建议或指导都将不胜感激?
谢谢

9vw9lbht

9vw9lbht1#

你做错了。你需要 INSERT ... SELECT 图案。

INSERT INTO table_1 
             (type, version, regn, comments, serial)
 SELECT '797', '109F','KILO','new entry', serial  
   FROM table_2 
  WHERE consno = '999999'

您可以编写与要插入的列匹配的select语句。然后把insert语句放在它前面。这里的诀窍是在需要常量时指定常量,并在需要常量的表中指定列。

相关问题