国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL數據表字段內容的批量修改、清空、復制等更新命令

2024-07-24 12:44:19
字體:
來源:轉載
供稿:網友
最近遇到一點麻煩事,新安裝的PHPwind6.0正式版社區在導入之前的會員帳號資料時,發現很多會員的mail地址貌似胡亂填寫的,之前的PHPwind5.5版本沒有開啟mail地址驗證功能,所以估計很多用戶胡亂填寫了email地址,所以我就想要求所有正式會員重新驗證郵件地址來重新激活會員帳號,結果發現社區根本沒有這項功能,掙扎了N久,數據庫的會員資料數據表被反復安裝=刪除了好幾遍,總算找到了一個批量修改的方法。

不過這樣操作會連社區創建者的賬號都改成未激活,所以要是不清楚還真的不敢動手。

在PHPwind6.0的MySql數據庫里,它的會員資料存在pw_members里面,會員帳號正常狀態下這個數據表里的“yz”字段顯示的值是1(即表示已經激活了帳號)。如果需要再次郵件激活,則這個值顯示的內容必須與另一個字段"regdate"的值相同,程序在驗證時自動檢測兩個字段的內容是否完全一樣之后才會進行有效驗證,否則會給出參數錯誤的提示。例如會員UID 1的“regdate”字段內容是1194067635,那么“yz”字段的值也一樣是1194067635;以此類推,如果會員UID 2的“regdate”字段內容是1175320740,那么“yz”字段的值也一樣是1175320740...

此時,由于可能的各種原因,“yz”字段的值可能并不是都是1(即表示已經激活了帳號)的狀態,如何讓“yz”字段的值和“regdate”字段內容保持一致呢?同時,因為會員資料N多,又如何批量轉換所有會員帳號的這個字段值呢?

我用的方法是這樣的

UPDATE table SET 被替換的字段名=被復制的字段名

應用到本文實例:
UPDATE pw_members SET yz=regdate

其中“pw_members”是數據表名稱;“被替換的字段名”指的是在“pw_members”中你要修改的那個字段的名稱,這里是“yz”;而“被復制的字段名”指的是提供字段內容給“yz”字段復制的字段名(好拗口喲?。皉egdate”;這樣可以批量將每個UID內的“yz”修改并復制成和“regdate”相同的值。而會員在下次登陸時社區就會要求他再次激活郵件帳號。

由于此舉是批量修改,因為將會把包括社區創建者在內的所有賬號都改成未激活,所以當執行完了以后,要立即把包括社區創建者在內不需要激活的賬號改回正常狀態。方法是在pw_members數據表的瀏覽狀態下,選擇你要改回正常狀態的會員帳號,點擊“編輯”進入之后找到“yz”字段,將字段的值例如“1194067635”改成“1”,這樣這個會員帳號就恢復正常了;也可以用管理員帳號進入社區管理后臺“會員管理”里將需要的會員ID手動激活。

另外,如何手動將同一數據表內不同字段之間的內容批量轉換,可以參考下面的命令:

UPDATE table set 字段名=REPLACE(字段名,'原字符串','替換的字符串') where 已知的字段名 LIKE '%原字符串%'

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赣榆县| 长泰县| 商南县| 泰宁县| 镇坪县| 盘锦市| 都安| 凤阳县| 永州市| 丘北县| 宝鸡市| 靖远县| 河曲县| 洛川县| 措勤县| 隆化县| 洞头县| 布尔津县| 开阳县| 嘉义市| 铜山县| 无为县| 金阳县| 保康县| 浦北县| 长乐市| 交口县| 台江县| 贵定县| 炎陵县| 淮安市| 靖西县| 河北省| 兖州市| 略阳县| 吉木萨尔县| 正蓝旗| 邢台县| 汉源县| 桂林市| 始兴县|