1

PreparedStatement を使用して SQL クエリを準備しています。行が存在しない場合にのみ、テーブルに行を挿入したい。

私はこれを試しました -

INSERT INTO users (userId) VALUES (?) ON DUPLICATE KEY UPDATE userId = ?

しかし、これは不必要に userId を更新します。

ここに挿入するにはどうすればよいuserIdですか?

4

3 に答える 3

2
INSERT  INTO users 
        (userId) 
SELECT  ?
WHERE   NOT EXISTS
        (
        SELECT  * 
        FROM    users 
        where   userId = ?
        )
于 2013-05-18T20:37:13.923 に答える
1

あなたは使用することができます

 INSERT IGNORE INTO users (userId) VALUES (?) 

ただし、エラーを無視する理由を理解する必要があります。

于 2013-05-18T20:37:16.710 に答える