当我从sqlite数据库上的codeigniter(PHP)运行此查询时,我得到重复的插入:
INSERT INTO `users`
SELECT 'test@email.com' AS `email`,
'12345' AS `password`
当我从SQLite Manager运行它时,它只添加一个条目。 但是,当我在PHP代码中用这个替换上面的查询时:
INSERT INTO `users`
(`email`,`password`)
VALUES ('test@email.com', '12345')
它只添加一次条目(其他一切都相同)。我也检查过,脚本只被调用一次。
任何人都有任何关于为什么会这样的想法? 我知道可以通过将电子邮件字段设置为主键来修复它,然后不会插入重复项,但这不是一个选项。
答案 0 :(得分:0)
正确的SQL语法是最后一个!
为什么不使用CodeIgniter的Active Record功能?
$data = array('email' => $email, 'password' => $password);
$this->db->insert('users', $data);