php - PHP & MySQL:将选择结果插入 id 为 auto_increment 的表中
问题描述
我正在尝试为从 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>';
}
解决方案
试试这个查询:
$query = "INSERT INTO groupInformation (RegistrationId) SELECT RegistrationId FROM (SELECT RegistrationId FROM userInformation ORDER BY RAND() LIMIT ".$GroupSize.") as res";
推荐阅读
- python - 字符串索引必须是整数 - 从 Python 中的 REST API 获取 JSON 响应
- terraform - 如何将 Terraform 代码重构为模块?
- ios - 如何在 react-native 中重置 ios 库?
- php - 如何使用php检查php代码中是否存在某些字符串
- android - kotlin 中函数的上下文参数中的 this 与 this@activity_main
- php - 是否可以按特定元键的值过滤结果?
- javascript - Apollo Server 的 gql 标签和 schema.gql 文件有什么区别?
- powershell - 使用 powershell 创建计划任务时无法传递参数。我应该将 -version 设为“sql server 2016”而不是“sql”
- r - 为 R 中的一个特征变量生成平滑样条曲线
- android - Android - 每隔几秒可靠地 ping 服务器