【问题标题】:PHP & MySQL: Insert select result into table with id auto_incrementPHP & MySQL:将选择结果插入 id 为 auto_increment 的表中
【发布时间】:2018-12-09 02:01:04
【问题描述】:

我正在尝试为从 userInformation 创建的每个组分配一个 ID 号并保存到 groupInformation。我不断收到错误:

列数与第 1 行的值数不匹配

我不确定是否应该增加 groupId。如果通过php或mysql。有人建议我创建一个数组来增加 groupId,但我不知道如何开始。

我的桌子是:

GroupInformation = GroupId(主键, auto_increment), RegistrationId(外键)

UserInformation = RegistrationId(primary key, auto_increment), Name, Email, Address

$GroupSize = $_POST['groupsize'];

$con = mysqli_connect($host, $user, $password, $dbName) or die("Nope");

if (isset($_POST['create'])) {

//assign group id to groups created
//insert RegistrationId into groupinformation from records randomly selected from userInformation,  group Id must increment by every group created in groupinformation

//$query ="Select RegistrationId from userInformation order by RAND() LIMIT ".$GroupSize;
   $query = "INSERT INTO groupInformation SELECT RegistrationId FROM (SELECT RegistrationId FROM userInformation ORDER BY RAND() LIMIT ".$GroupSize.") as res";

    $result = mysqli_query($con, $query) or die ("query failed " . mysqli_error($con));


//unsure how to use this array
    while (($row = mysqli_fetch_row($result)) == true) {
        echo $row[0].'<br>';

    }

【问题讨论】:

标签: php mysql


【解决方案1】:

试试这个查询:

$query = "INSERT INTO groupInformation (RegistrationId) SELECT RegistrationId FROM (SELECT RegistrationId FROM userInformation ORDER BY RAND() LIMIT ".$GroupSize.") as res";

【讨论】:

  • 我试过了,但每个成员都有不同的组 ID 我需要相同的组 ID
猜你喜欢
  • 1970-01-01
  • 2011-05-27
  • 2017-01-05
  • 2016-11-17
  • 2014-08-01
  • 2011-02-27
  • 2021-01-23
  • 1970-01-01
  • 2019-12-29
相关资源
最近更新 更多