如何从值列表生成SQL插入查询?

时间:2015-04-22 19:30:53

标签: php sql

我有很长的值列表,我想使用SQL Query将它们插入到数据库中,但编写语句花费的时间太长。有什么方法在PHP中,这将给我一个准备使用提供的值列表中的INSERT查询?

我特此提供我的(不完整的)SQL查询:

INSERT INTO `aichiwj2_reesk`.`me_skills` 
(`id`, `skill_name`, `skill_type`, `timestamp`) 
VALUES 
(NULL, 'Able To Listen', 'it', CURRENT_TIMESTAMP), 
(NULL, 'Accept Feedback', 'it', CURRENT_TIMESTAMP);`

.....并且这继续......

因此我提供了值列表(我使用<li>一个接一个地查看值,或者它一起查看所有值):

  • 能够倾听
  • 接受反馈
  • 适应性
  • 艺术感
  • 自信
  • 殷勤
  • 商业故事
  • 商业趋势意识
  • 合作
  • 沟通
  • 竞争力
  • 知己
  • 解决冲突
  • 合作
  • 礼貌
  • 危机管理
  • Critical Observer < / li>
  • 批判性思考者
  • 客户服务
  • 处理交易
  • 处理困难情况
  • 处理Office政治
  • li>
  • 与困难人士交往
  • 决策
  • 专注
  • 代表团
  • 可靠
  • 设计感觉
  • 渴望学习
  • 残障意识
  • 争议解决
  • 多元化意识
  • 3 个答案:

    答案 0 :(得分:1)

    将您的技能列表放在数组中,遍历数组并将SQL字符串回显到浏览器。这不是花哨,但完成工作。

    我在PHP中真的很生气,所以我无法粘贴完整的解决方案。像这样的东西可能有用,但由于我现在没有带PHP的机器,所以我无法测试它。

    $array = ("Skill1", "Skill2", "Skill3");
    $queries_string = "INSERT INTO `aichiwj2_reesk`.`me_skills` (`id`, `skill_name`, `skill_type`, `timestamp`) VALUES ";
    for ($i = 0; $i < len($array); $i++)
        $queries_string .= "(NULL, '"+$array[$i]+"', 'it', CURRENT_TIMESTAMP), ";
    echo $queries_string
    

    在屏幕上打印后,你应该用sinal空格和逗号替换;

    对不起,我现在不能帮忙了。

    答案 1 :(得分:0)

    我过去曾使用过这个技巧,将您的值放在EXCEL中,然后将CONCAT()字符串放在一起以获取INSERT语句。

    即。 &#34; INSERT INTO aichiwj2_reeskme_skillsidskill_nameskill_typetimestamp) 价值观(&#34; + Col1 + ......

    然后将您的INSERT语句粘贴到您的QUERY EDITOR中,RUN不是最技术性的方法,但它可以完成工作

    答案 2 :(得分:0)

    $skills=array("Able to Listen","Accept Feedback","Adaptable",
                  "Artistic Sense","Assertive","Attentive","Business Storytelling",
                  "Business Trend Awareness","Collaborating","Communication",
                  "Competitive","Confidant","Conflict Resolution","Cooperative",
                  "Courteous","Crisis Management","Critical Observer",
                  "Critical Thinker","Customer Service",
                  "Deal Making","Deal with Difficult Situations",
                  "Deal with Office Politics",
                  "Deals with Difficult People","Decision Making","Dedicated",
                  "Delegation","Dependable","Design Sense","Desire to Learn",
                  "Disability Awareness","Dispute Resolution",
                  "Diversity Awareness");
    foreach ($skills as $val) {
        mysql_query("insert into aichiwj2_reesk (skill_name, skill_type, timestamp) values ('$val', 'it', 'CURRENT_TIME')");
    }
    

    对于时间戳,您可以从循环上方的var中获取时间并插入到替换CURRENT_TIME的查询中。如果你想约会,那么你也可以约会。