首页 > 解决方案 > 有没有办法检查数据是否存在然后插入数据?代码点火器

问题描述

我需要知道当数据存在于表中时如何插入数据。另一方面,如果数据不存在,则不会插入。有没有办法做到这一点?

我的观点

<?php echo form_open('students/find_class   ') ?>
    <input type="hidden" value="1" name="studId" />
        <div class="form-group">
            <h5>Class Code:</h5>
            <small><li>Only teachers shall give you code</li></small><br>
            <input type="text" class="form-control col-md-6" placeholder="Enter class code to join" name="code" required />
                            
       </div>
        <hr>
        <button type="submit" class="btn btn-info btn-md">Join Class</button>
</form>

我的控制器将通过模型连接

public function find_class(){
    $this->student_model->find_class();

    redirect('students/home');

}

最后,我的模型

public function find_class(){

    $data = array(
        'student_id' => $this->user_id,
        'code' => $this->input->post('code')
    );

    return $this->db->insert('classes', $data);
}

标签: phpmysqlcodeignitercodeigniter-3

解决方案


只有这个sql代码:

INSERT INTO table (value1, value2, value3)
SELECT * FROM (SELECT value1_content, value2_content, value3_content) AS tmp
WHERE NOT EXISTS (
    SELECT value1 FROM table WHERE value1 = value1_content
) LIMIT 1;

推荐阅读