【问题标题】:Get data from column of a table and store to column another table从表的列中获取数据并存储到另一个表的列
【发布时间】:2015-11-14 18:19:24
【问题描述】:

我有两张桌子。第一个是filedetails,第二个是filestate

filedetails 表如下:

+----+----------+--------------+--------+
| id | NAME     |  description | data   |
+----+----------+--------------+--------+
|                                       |
+----+----------+-----+--------+--+-----+

filestate表如下:

+---------+------+-----------+
|filename | size | download  | 
+---------+------+-----------+
|                            |
+----+----------+-----+------+

如何使用 PHP 将 filedetails 表中的 name 列值插入到 filestate 的文件名列中?

例如,如果一条新记录向filedetails 表中的name 列添加了一个值,则它应该自动添加到filestate 中的filename 列中。

【问题讨论】:

  • 您可以在filedetails 表上创建after insert trigger,它将在filestate 表中插入数据。
  • @Code-Monk,谢谢你能给我我的案例代码

标签: php mysql sql-server


【解决方案1】:

PHP 和 MySQL 我建议你使用 PDO。 MySQLi 开始时稍微容易一些,但从长远来看,PDO 更好,并且更安全。但是 PDO 的语法类似于

public static function someFunctionName($name) {
    $stmt = self::getInstance()->prepare("INSERT INTO <yourTablename> SET name = :name");
    $stmt->bindParam(':name', $name, PDO::PARAM_STR);
    $stmt->execute();
    return;
}

然后,使用 after_event 触发器复制到您在 MySQL 本身中执行的另一个表。相关信息可以在这里找到:

http://www.techonthenet.com/mysql/triggers/after_insert.php

【讨论】:

  • 谢谢你,但你的代码对我来说不是很清楚你的意思是什么 SET name = :name。你能给我我的情况下的 MySQL 代码吗?
  • SET name = :name 是 PDO 语法。 :name 是在 bindParam 语句的下一行定义的变量。
  • 我还需要帮助,我的问题没有解决请给我一个清晰的MySQL代码示例
  • 如果您想通过 PHP 执行此操作,您需要的不仅仅是 mysql 代码。您需要使用 mysqli 或 PDO 将 PHP 和 MySQl 数据库链接在一起。
猜你喜欢
  • 2022-07-31
  • 1970-01-01
  • 2018-01-22
  • 2021-08-17
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多