重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
IFNOTEXISTS。
成都創新互聯是一家專注于成都網站建設、成都做網站與策劃設計,貴池網站建設哪家好?成都創新互聯做網站,專注于網站建設十多年,網設計領域的專業建站公司;建站業務涵蓋:貴池等地區。貴池做網站價格咨詢:13518219792
根據查詢相關公開信息顯示,mysql中,指定要創建的數據不存在,必須使用IFNOTEXISTS關鍵字,否則將產生錯誤。
MySQL是一個關系型數據庫管理系統,由瑞典MySQLAB公司開發,屬于Oracle旗下產品。
可能是你的INI設置不對,請用下面的命令指定系統默認的INI文件試試看:
e:\mysql5.0.51a\bin\mysqld.exe --defaults-file=e:\mysql5.0.51a\my.ini MySQL注意里面的e:\mysql5.0.51a是我機器的路徑,請修改你機器上MYSQL的安裝路徑。
你把這張表的?date和ip字段聯合設置為唯一索引。
ALTER?TABLE?`log`?ADD?UNIQUE?`date_ip`?(`date`,?`ip`);
然后你就大膽的insert數據吧。有重復的就報錯插入失敗。然后接著插入下一條就OK。
事情的起因是這樣的,在練手項目的時候,表的一個關聯字段并沒有建立外鍵關系,只是名義上的外鍵關系,
而在修改數據的時候,考慮到安全性的問題,確保運行不會報異常的話,每次在做修改字段的時候,都需要先查
尋該字段是否存在,若不存在則需要主動添加。如以下的 userId,是并沒有外鍵的!
如果每次都先查詢再修改的話,是相當影響效率的,所以呢,mysql也幫我們準備好了解決方式,感謝mysql團隊
1. ** 首先,你需要一個觸發條件,也就是唯一索引啦,這是必要的!!! 譬如我想我的userId不重復,又想達到該效果,就需要把該字段設置為唯一索引,譬如:
2.? 語法:?duplicate key
? ? ? ? 怎么使用已經很明顯了吧 :
???insert into 表名(字段1,userId,字段3,....) values(值1,值,值3,....)?意思是,當userId不重復時,則會觸發這個插入語句
? ? ????????update 字段1=值1,字段2=值2 ....? 就是userId的值已經存在時,則觸發這個修改語句?
? ? ? ? 那么我的語句就是:
3. 最后
? ? 順帶一提,可以在myBatis的xml文件中獲取當前時間哦,使用? now()?
? ? 學而時記之,人笨只能多寫啦,加油哦!!!.....