如果是sqlserver數(shù)據(jù)庫(kù),其實(shí)對(duì)于某列上不存在不讓修改的說(shuō)法,sqlserver數(shù)據(jù)庫(kù)數(shù)據(jù)控制原理是角色控制,也就是說(shuō)我們對(duì)于某一個(gè)角色去下定義,讓隸屬于這個(gè)角色的用戶(hù)不能夠更新數(shù)據(jù)。或者在某個(gè)角色的基礎(chǔ)上不分配或是回收對(duì)某一列的權(quán)限!如果是這種情況,用一個(gè)能修改的角度登陸才行。
主要從事網(wǎng)頁(yè)設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、成都響應(yīng)式網(wǎng)站建設(shè)公司、程序開(kāi)發(fā)、微網(wǎng)站、小程序開(kāi)發(fā)等,憑借多年來(lái)在互聯(lián)網(wǎng)的打拼,我們?cè)诨ヂ?lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷(xiāo)經(jīng)驗(yàn),集策劃、開(kāi)發(fā)、設(shè)計(jì)、營(yíng)銷(xiāo)、管理等多方位專(zhuān)業(yè)化運(yùn)作于一體,具備承接不同規(guī)模與類(lèi)型的建設(shè)項(xiàng)目的能力。
還有另一種就是所謂的觸發(fā)器,一旦發(fā)現(xiàn)你修改,立即返回原數(shù)據(jù),這樣你也是永遠(yuǎn)修改不了的!這時(shí)你要找到那個(gè)觸發(fā)器,將觸發(fā)器刪除后再進(jìn)行修改,然后加回觸發(fā)器即可!
但這兩種情況都是對(duì)某一列下的定義(我們稱(chēng)為鎖定粒度為列)不可能是某一個(gè)單元格!
如果你是站在erp管理的基礎(chǔ)上不讓你修改那是十分正常的!
在企業(yè)管理器中使用圖形方式(如二樓給的圖)還是語(yǔ)句,則沒(méi)有任何的區(qū)別!
這是因?yàn)楸碇械倪@個(gè)字段(即單元格)跟其他表有外鍵約束。
如:
班級(jí)表(主表)
班級(jí)id 班級(jí)名稱(chēng)
1 一年一班
2 一年二班
學(xué)生表(副表)
學(xué)生id 學(xué)生姓名 所屬班級(jí)id
1 張三 1
2 李四 1
3 王五 2
4 趙六 2
如果要更改副表中的班級(jí)id為1的改為3,那么就無(wú)法更改,因?yàn)閷W(xué)生表中的所屬班級(jí)id必須為主表中存在的才可以。
使用mysqladmin,這是前面聲明的一個(gè)特例。
mysqladmin
-u
root
-p
password
mypasswd
輸入這個(gè)命令后,需要輸入root的原密碼,然后root的密碼將改為mypasswd。
把命令里的root改為你的用戶(hù)名,你就可以改你自己的密碼了。
親,你好。把數(shù)據(jù)庫(kù)、表、字段的字符集都設(shè)置統(tǒng)一(如UTF8)后可解決。
你MYSQL目錄沒(méi)有讀寫(xiě)權(quán)限,如果是FAT32分區(qū)直接把目錄的只讀權(quán)限去除應(yīng)該就可以了,如果是NTFS分區(qū)格式就麻煩些:在您的數(shù)據(jù)庫(kù)文件上文件夾上面點(diǎn)擊右鍵-屬性-安全-添加用戶(hù):IUSR_計(jì)算機(jī)名并開(kāi)放IUSR_計(jì)算機(jī)名的讀取、寫(xiě)入權(quán)限(已使用過(guò),OK,只要加上read和write權(quán)限即可。)
希望可以解決你的問(wèn)題。
1、情況一:MySQL的錯(cuò)誤日志文件(安裝目錄\MYOA\data5\機(jī)器名.err)會(huì)記錄如下內(nèi)容:
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Error: trying to add tablespace 460 of name '.\td_oa\flow_data_35.ibd'
InnoDB: to the tablespace memory cache, but tablespace
InnoDB: 460 of name '.\td_oa\exam_data.ibd' already exists in the tablespace
解決方法:
1)剪切出安裝目錄\MYOA\data5\TD_OA的flow_data_35.ibd和flow_data_35.frm兩個(gè)文件;
2)啟動(dòng)MySQL5_OA服務(wù),使用備份的flow_data_35.sql導(dǎo)入到TD_OA庫(kù)中。如果提示flow_data_35表已經(jīng)存在不能導(dǎo)入,則繼續(xù)按后續(xù)步驟執(zhí)行;
3)在data5下手動(dòng)建立tmp目錄;
4)使用MySQL管理工具或MySQL命令行程序在tmp下建立名稱(chēng)為flow_data_35的表(包含一個(gè)字段即可);
5)將tmp下的flow_data_35.frm和flow_data_35.ibd拷貝到安裝目錄\MYOA\data5\TD_OA目錄下;
6)在MySQL管理工具或MySQL命令行程序中,進(jìn)入TD_OA庫(kù),使用“drop table flow_data_35;”命令清除公共表空間中殘留的flow_data_35表的相關(guān)信息;
7)進(jìn)入tmp庫(kù),刪掉flow_data_35表;
8)使用備份的flow_data_35.sql導(dǎo)入到TD_OA庫(kù)中;
9)如果還有其他表存在該問(wèn)題,可重復(fù)執(zhí)行4至8步驟。
2、情況二:MySQL的錯(cuò)誤日志文件(安裝目錄\MYOA\data5\機(jī)器名.err)會(huì)記錄如下內(nèi)容:
130409 15:54:31 [Note] Plugin 'FEDERATED' is disabled.
130409 15:54:31 InnoDB: The InnoDB memory heap is disabled
130409 15:54:31 InnoDB: Mutexes and rw_locks use Windows interlocked functions
130409 15:54:31 InnoDB: Compressed tables use zlib 1.2.3
130409 15:54:32 InnoDB: Initializing buffer pool, size = 1023.0M
InnoDB: VirtualAlloc(1086849024 bytes) failed; Windows error 8
130409 15:54:32 InnoDB: Completed initialization of buffer pool
130409 15:54:32 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130409 15:54:32 [ERROR] Plugin 'InnoDB' init function returned error.
130409 15:54:32 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130409 15:54:32 [ERROR] Unknown/unsupported storage engine: Innodb
130409 15:54:32 [ERROR] Aborting
解決方法:
此情況出現(xiàn)的原因是myoa\mysql5\my.ini中innodb_buffer_pool_size的值太大,OA服務(wù)器操作系統(tǒng)不支持所致。改小后再啟動(dòng)mysql5_OA服務(wù)即可,一般保持和數(shù)據(jù)庫(kù)大小一致。數(shù)據(jù)庫(kù)大小即是myoa/data5的大小。
3、情況三:mysql服務(wù)啟動(dòng)不了,事件查看器中顯示:The syntax
'--log-slow-queries' is deprecated and will be removed in a future
release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
解決方法:安裝目錄\MYOA\data5下的ibdata1、ib_logfile0、ib_logfile1文件屬性被設(shè)置為只讀導(dǎo)致,取消只讀控制,重啟mysql5_OA服務(wù)即可。
4、情況四:MySQL的錯(cuò)誤日志文件(data5\機(jī)器名.err)會(huì)記錄如下內(nèi)容:InnoDB: No valid checkpoint found.
解決方法:此問(wèn)題找不到檢查點(diǎn),數(shù)據(jù)庫(kù)是無(wú)效的,此種情況,只能用熱備份數(shù)據(jù)恢復(fù)。
5、以上四種情況,是2013版OA系統(tǒng)目前比較常見(jiàn)的mysql服務(wù)啟動(dòng)不了的現(xiàn)象和解決辦法,大家可作參考,其他情況的話,再具體分析處理。
6、分析思路總結(jié):遇到mysql5_OA服務(wù)啟動(dòng)不了的情況,首先查看myoa\data5下的錯(cuò)誤日志文件,根據(jù)日志中的具體內(nèi)容進(jìn)行具體分析。
7、2013版MYSQL服務(wù)啟動(dòng)不了(可以嘗試強(qiáng)制啟動(dòng)mysql服務(wù))方法如下:
1)打開(kāi)\MYOA\mysql5\my.ini,去掉innodb_force_recovery=1前邊的注釋。
2)啟動(dòng)MySQL5_OA服務(wù),此時(shí)MySQL處于只讀狀態(tài),可以導(dǎo)出,不可寫(xiě)入。如果仍不能啟動(dòng),可以嘗試將innodb_force_recovery修改為2、3、4、5、6等,直到可以啟動(dòng)為止。
3)使用MySQL管理工具,將TD_OA等相關(guān)的數(shù)據(jù)庫(kù)導(dǎo)出為SQL文件。
4)停止MySQL5_OA服務(wù),刪除TD_OA下的所有文件、ibdata1、ib_logfile0、ib_logfile1等文件。
5)打開(kāi)\MYOA\mysql5\my.ini,在innodb_force_recovery=1前邊加上#號(hào),將該項(xiàng)注釋掉。
6)啟動(dòng)MySQL5_OA服務(wù),然后導(dǎo)入此前備份的SQL文件。
7)檢查數(shù)據(jù)庫(kù),將無(wú)法通過(guò)該方法恢復(fù)的數(shù)據(jù)表,通過(guò)之前自動(dòng)備份的SQL文件進(jìn)行恢復(fù)。