Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我可以在不更新父表的情况下更新子表吗_Php_Mysql_Sql - Fatal编程技术网

Php 我可以在不更新父表的情况下更新子表吗

Php 我可以在不更新父表的情况下更新子表吗,php,mysql,sql,Php,Mysql,Sql,例如,见表 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), CONST

例如,见表

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代码更新它

如果没有,还有什么选择

UPDATE `child` SET `username` = '$username' WHERE id = '$id'

用所需的值替换
$username
$id

您可以像任何其他php查询一样,对子表运行
更新
查询并更新值。请更具体地说明您使用的数据库类型(mysql/oracle/…)@Blablaenzo我不确定,但我只是使用phpMyAdmin在php中使用哪些命令来处理数据库?或者你从未使用过db?@fusion3k$parent\u id=$\u POST['parent\u id']$用户名=$_POST['username']$sql=“更新子集用户名='$username',其中父项\u id=$parent\u id”;在phpmyadmin中它可以工作,但在php代码中它不会更新。您必须知道数据库的种类。否则就不可能使用它。您可以在phpMyAdmin主页上找到它(参见此示例)服务器:127.0.0.1通过TCP/IP服务器类型:MariaDB服务器版本:10.1.8-MariaDB-MariaDB.org二进制分发协议版本:10用户:root@localhost服务器字符集:UTF-8 Unicode(utf8)MariaDB与MySQL的兼容性为99%。您必须从php/MySQL教程开始(开始并遵循PDO驱动程序的说明)。没有教程,你会损失很多时间。真的有很多时间。不客气。如果有不清楚的地方,请随时再次询问