0

sqlite データベースで codeigniter (PHP) からこのクエリを実行すると、重複した挿入が発生します。

INSERT INTO `users` 
SELECT 'test@email.com' AS `email`,
'12345' AS `password`

SQLite Manager から実行すると、エントリが 1 つだけ追加されます。ただし、PHPコードで上記のクエリをこれに置き換えると:

INSERT INTO `users`
(`email`,`password`) 
VALUES ('test@email.com', '12345') 

エントリは 1 回だけ追加されます (他はすべて同じです)。私もチェックしましたが、スクリプトは一度だけ呼び出されます。

なぜそれが起こるのか誰にも考えがありますか?メールフィールドを主キーに設定することで修正できることはわかっていますが、重複は挿入されませんが、それはオプションではありません。

4

1 に答える 1

0

正しい SQL 構文は最後のものです!

CodeIgniter の Active Record 機能を使用してみませんか??

$data = array('email' => $email, 'password' => $password);
$this->db->insert('users', $data);
于 2013-01-31T20:01:19.887 に答える