如何在SQL中的一行中插入多个值?

时间:2014-11-20 14:10:53

标签: mysql sql delimiter

我要创建一个tbrecord数据库来保存用户数据,让我的记录表包含

  1. record_id
  2. member_id
  3. relation
  4. 日期
  5. 在 (Record01,M001,...,20-11-2014)

    但是值不是来自查询,我在会话(php)中有一个数组。 我的价值观 R001 R002 R003 R004

    如果有可能, 我想在关系字段中插入多个值,使用','分隔符。

    像这样,

    (Record01,M001,(r001,r002,r003,r004),20-11-2014)

    提前谢谢你。 :)

2 个答案:

答案 0 :(得分:1)

您需要另一个表来保存您的值,例如Relation(id,item,record_id)此表中的record id是指向原始表格的外键Records(record_id, member_id,date)

现在您可以通过查询将每个值插入Relation表,对项目没有限制,所有项的record_id等于record_id Records表中的行,该关系属于

答案 1 :(得分:1)

在一个数据库单元中存储这样的多个值是不可取的,可能会在以后的路上再次受伤,但这样做非常简单。

<?php

$yourPHParray = array('r001','r002','r003','r004');

$yourQueryString = '("Record01", "M001", "(\'';

foreach($yourPHParray as $singleValue)
{
$yourQueryString .= $singleValue."','";
}

$yourQueryString = substr($yourQueryString, 0,-2); // Remove trailing ,'

$yourQueryString .= ')", "20-11-2014")';

echo $yourQueryString;

?>

回声将完全返回

(&#34; Record01&#34;,&#34; M001&#34;,&#34;(&#39; r001&#39;,&#39; r002&#39;,&#39; r003& #39;,&#39; r004&#39;)&#34;,&#34; 20-11-2014&#34;)

希望这有帮助!