【问题标题】:PHP MYSQL - insert a new record but requires column from select statement in another table - fails in phpPHP MYSQL - 插入一条新记录,但需要另一个表中的 select 语句中的列 - 在 php 中失败
【发布时间】:2018-11-19 00:18:26
【问题描述】:

我正在尝试通过 php 表单在表中添加记录。需要从另一个表中选择一个必填字段,并在执行前添加到插入语句中。

这是 mysql 代码,通过获取“选择”部分并同时将其包含在“插入”中,这在 Workbench 中运行良好。我的 php 表单返回一个错误,指出“序列”值为空,因此“添加”失败。

这里是工作的 mysql -

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

作为一个对此非常陌生的人,我记得在 php 中阅读了一些不可能从多个语句中读取的内容,任何关于如何让这个“插入”在 php 中工作的建议或指导将不胜感激?

谢谢

【问题讨论】:

标签: php mysql select insert


【解决方案1】:

你做错了。您需要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 语句放在它前面。这里的技巧是在需要时指定常量,以及需要这些的表中的列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-04
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多