【问题标题】:Can I update child table without updating parent table我可以在不更新父表的情况下更新子表吗
【发布时间】:2016-03-08 00:07:45
【问题描述】:

例如见表格

CREATE TABLE parent (
  id serial not null,
  CONSTRAINT parent_pkey PRIMARY KEY (id)
);

CREATE TABLE child (
  id serial not null,
  parent_id serial not null,
  username` varchar(90) NOT NULL
  CONSTRAINT child_pkey PRIMARY KEY (id),
  CONSTRAINT parent_fk FOREIGN KEY (parent_id)
    REFERENCES parent (id) 
    ON DELETE RESTRICT
    ON UPDATE RESTRICT
);

无论如何我可以更新子表中的用户名吗?如果是的话我怎么能用php代码更新它。

如果没有,其他选项是什么?

【问题讨论】:

  • 您可以像任何其他 php 查询一样对子表运行 update 查询并更新值。
  • 请详细说明您使用的数据库类型(mysql/oracle/...)
  • @Blablaenzo 我不确定,但我只是在使用 phpmyadmin
  • 您在 php 中使用哪些命令来处理数据库?或者你从不使用 db?
  • @fusion3k $parent_id = $_POST['parent_id']; $username = $_POST['username']; $sql = "UPDATE child SET username = '$username' WHERE parent_id = $parent_id";

标签: php mysql sql


【解决方案1】:
UPDATE `child` SET `username` = '$username' WHERE id = '$id'

$username$id 替换为您想要的值。

【讨论】:

  • 在 phpmyadmin 中它可以工作,但在 php 代码中它不会更新
  • 必须知道 db 类型。否则无法使用它。您可以在 phpMyAdmin 主页上找到它(以 pic 为例)
  • 服务器:127.0.0.1 通过 TCP/IP 服务器类型:MariaDB 服务器版本:10.1.8-MariaDB - mariadb.org 二进制分发协议版本:10 用户:root@localhost 服务器字符集:UTF-8 Unicode (utf8)
  • MariaDB 99% 兼容 MySQL。您必须从 php/MySQL 教程开始(开始 here 并按照 PDO 驱动程序的说明进行操作)。没有教程,你会浪费很多时间。真的很多时间。
  • 不客气。如果有不清楚的地方,请随时再次询问
猜你喜欢
  • 2017-01-29
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 2012-04-18
  • 2010-10-13
  • 2013-12-14
  • 2017-06-12
  • 2019-06-21
相关资源
最近更新 更多