0

訪問者のIPアドレスを記録し、mysqlデータベースに保存します。訪問者が別のIPを取得すると、レコードも更新されます。次のコードを使用して更新を行います。次の例の値はテスト用です。

insert into visiter_info values ('1344594088179','0','100.100.100.100','china','300x600','IOS','firefox','')
                    ON DUPLICATE KEY UPDATE 
                    ip_address=concat(ip_address,'|','100.100.100.100'),
                    location=concat(location,'|','china'),
                    screen_res=concat(screen_res,'|','300x600'),
                    os=concat(os,'|','IOS'),
                    brower=concat(brower,'|','firefox')

動作しますが、問題が発生しました。データベースにレコードがあるかどうかを確認するにはどうすればよいですか。このように:訪問者はIP100.100.100.100で再び来ます。Mysqlはレコードがあることを知りません、そしてそれは再記録します。挿入する前にサブ文字列が含まれているかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

0
    if not exists(select * from visiter_info where ip_address='100.100.100.100')
    insert into visiter_info values ('1344594088179','0','100.100.100.100','china','300x600','IOS','firefox','') 
ON DUPLICATE KEY UPDATE  
        ip_address=concat(ip_address,'|','100.100.100.100'), 
        location=concat(location,'|','china'), 
        screen_res=concat(screen_res,'|','300x600'), 
        os=concat(os,'|','IOS'), 
        brower=concat(brower,'|','firefox') 
于 2012-08-10T11:20:42.047 に答える