【问题标题】:TYPO3 - MySQL - Combining a INSERT with SELECTTYPO3 - MySQL - 将 INSERT 与 SELECT 结合使用
【发布时间】:2013-06-02 02:07:20
【问题描述】:

我需要一个扩展的 INSERT 语句(带有 WHERE)才能在 TYPO3 中得到我的结果。使用 TYPO3 插入的标准方法是这样的:

$res_ext=$GLOBALS['TYPO3_DB']->exec_INSERTquery($ext_table, $feUserRecord);

  • $ext_table = '新闻';

    $feUserRecord = 数组 ( 'tx_extendnews_subscriber' => $userid_fe );

  • tx_extendnews_subscribe 是值为 $userid_fe 的列

现在我需要一个带有 WHERE 语句的 INSERT...有 TYPO3 方式还是仅使用 MySQL 语法?

我需要这个 WHERE 语句:SELECT * FROM news WHERE uid = post_uid

  • $userid_fe = 704
  • post_uid = 101

INSERT - SELECT Link from MySQL

我用标准的 MySQL 试试这个,但它不适合我

$resulting_post_id = "SELECT * FROM news WHERE uid = 101";
$res_ext="INSERT INTO news (tx_extendnews_subscriber) VALUES ('704'($resulting_post_id))";

【问题讨论】:

  • 吉姆,你能用文字(而不是代码)描述你真正想要实现的目标吗?可能你根本不需要INSERT ... SELECT
  • 由于我的 Tyop3 扩展和后端管理需要 INSERT 和 SELECT。我有 10 个新闻和可以订阅新闻的用户。如果用户订阅新闻,他的 id 将保存在 tx_... 列中,例如 uid = 4...该列现在有一个逗号分隔的 id 列表,其中包含订阅新闻的用户
  • @cascaval 你是对的 :) 我现在用第三个 M:N 表尝试了它,所以我可以使用 INSERT 的标准方式,在列中保存逗号分隔的 id 是一种不好的方式
  • 是的,用于存储关系的第三张表是一个更好的主意。但是,即使您已经有一条新闻记录并且想要通过将另一个用户的 ID 添加到新闻的 tx_extendnews_subscriber 列来修改它的初衷,也不应该使用 INSERT 查询,而是使用 UPDATE 查询。跨度>
  • 哇!你好吗?在哪?我一直试图弄清楚如何连接到我的数据库并将特定数据获取到视图/模板。我对发生的事情感到迷茫,但是这段代码对我来说比我尝试使用的typo3脚本更重要!

标签: mysql insert typo3


【解决方案1】:

您可以使用非常简单的sql_query 函数来实现您的目标:

$GLOBALS['TYPO3_DB']->sql_query("INSERT INTO news (tx_extendnews_subscriber)
VALUES ('704') WHERE uid = 101");

【讨论】:

    猜你喜欢
    • 2011-08-30
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 2023-02-13
    • 2016-07-02
    • 1970-01-01
    相关资源
    最近更新 更多