我是新來的PHP。我只是想知道如果MySQL數據庫的表包含數據,哪個PHP腳本可以檢測到。如果是,它將使用提交的表單數據更新數據。如果不是(空白),則會將表單數據插入到其中。如果mysql表中包含數據,更新它,如果沒有插入數據(PHP)
我知道如何使用php插入數據只是想知道如何檢查數據是否存在表中。
謝謝你,祝你有美好的一天。
我是新來的PHP。我只是想知道如果MySQL數據庫的表包含數據,哪個PHP腳本可以檢測到。如果是,它將使用提交的表單數據更新數據。如果不是(空白),則會將表單數據插入到其中。如果mysql表中包含數據,更新它,如果沒有插入數據(PHP)
我知道如何使用php插入數據只是想知道如何檢查數據是否存在表中。
謝謝你,祝你有美好的一天。
您正在查看INSERT ... ON DUPLICATE KEY UPDATE。
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
就在ON DUPLICATE KEY UPDATE x=y, z=a
附加到當前INSERT
如果獨特的價值,你嘗試插入已經存在,包含行被更新。
MySQL能夠與這取決於你的方式來檢查幫助(主鍵) - 見http://www.xaprb.com/blog/2006/02/21/flexible-insert-and-update-in-mysql/
檢查是否在數據庫中存在的數據是讀操作,讓你使用SELECT語句。如果SELECT語句返回一個非空記錄集,那麼你知道數據存在。額外獎勵:您也知道您要查找的數據的ID號,以用於更新操作。
如果您知道您正在更新的行的唯一標識號,您現在可能會進行INSERT ... ON DUPLICATE KEY UPDATE。
使用SELECT語句的唯一問題是,操作不保證是原子 - 也就是,這件事會發生:
- 您運行的SQL語句,並得到一個空集
- 一個不同的進程插入將數據形成數據庫
- 第一個運行select語句的進程,插入相同的表單數據
祝您好運!
不,我不想檢查是否有重複的數據,我只想檢查是否有任何數據存在表中。如果是,PHP更新現有的數據,如果沒有,PHP插入數據 – edward
然後只需使用'SELECT id FROM table'並檢入代碼是否返回0行,如果沒有,則插入數據。 – Jacob