mysql - 在mysql中插入逗号分隔的数组

标签 mysql arrays insert

我正在编写一个脚本,我想为新用户选择父 ID,并将其父 ID 与父 ID 一起保存在 mysql 表中。

$last_id = mysql_insert_id(); 

//select parent id of last inserted user 
$sel = mysql_query("SELECT * FROM tbl_new_agent WHERE new_agnt_id = '".$last_id."'"); 
$row = mysql_fetch_array($sel); 
$a = $row['new_agnt_ParentId']; 

//select parents of parent which are supposed to be stored at parent_arr field in db as comma separated values                                      
$sel1 = mysql_query("SELECT * FROM tbl_new_agent WHERE new_agnt_id = '".$a."'"); 
$row1 = mysql_fetch_array($sel1); 

//here i want to add element in array.though its not working obviously 
$b = array_push($row1['parent_arr'],$a); 

$update = mysql_query("UPDATE tbl_new_agent SET parent_arr = '".$b."' WHERE new_agnt_id = '".$last_id."'");  

我不知道如何存储逗号分隔的值或最初存储单个值然后添加更多元素。任何人都可以给我这方面的想法吗?

最佳答案

以下是获取用户“ parent ”的逗号分隔列表的方法,无需额外的列:

SELECT GROUP_CONCAT(t2.new_agnt_id)
FROM tbl_new_agent t1
JOIN tbl_new_agent t2
ON t2.new_agnt_id = t1.new_agnt_ParentId
WHERE t1.new_agnt_id = :last_id

出于性能考虑,请考虑仅命名您需要的列,而不是一般对所有内容使用 SELECT *。例如。 从 tbl_new_agent WHERE ... 中选择 new_agnt_ParentId ...

关于mysql - 在mysql中插入逗号分隔的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226071/

相关文章:

php - 如何合并每个数组具有不同元素数的二维数组

SQLITE 使用选择作为值插入多行

MySQL 按计数查询

mysql - Active Record 模型与同一类的 2 个实例有关系

php - Codeigniter - 检查数据库中是否存在数组中的值不起作用

python - Big Query流缓冲区插入空行python

php - sql插入具有层次结构的一堆记录

mysql - 错误代码 : 1093. 您无法在 FROM 子句中指定用于更新的目标表 'schedule'

c++ - 在 C++ 中发布二维数组的打印元素

arrays - Swift:在扩展中声明一个类型的数组符合协议(protocol)