如何设置mysql 指定数据库为只读

如何设置mysql 指定数据库为只读,第1张

SELECT

CONCAT( 'UPDATE ', table_name, ' SET flag = 0;' AS `准备要执行的sql`

FROM

information_schematables

WHERE

table_schema = 'database 的名字';

查询完毕以后,复制出查询结果, 粘贴一下, 执行。

在ACCESS中打开某个数据

单击菜单 文件-获取外部数据-导入,在对话框中选择要用的EXCEL文件

按照向导提示执行就行了,可以放在新表中,也可以放在已有的表中。

但是要注意,最好是在EXCEL中为使用的数据作个命名区域,还有EXCEL中的数据一定要规规矩矩,第一行是列标题,下面各行是数据,标题和数据不要跨列,不要有合并的单元格,否则可能不行。

不过我是完全安装的,我不知道你的错误提示是否和这有关

原因:

有几个主要的错误原因:

这个错误发生在当你的程序试图执行更新数据库或其它类似 *** 作时。这是因为

ADO由于以下的几个原因而不能够写数据库造成的。

1。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。

要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。

当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为

Jet需要在该目录建立一个ldb文件。

2。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。

SQL = "UPDATE Products Set UnitPrice = 2;"

Set Conn = ServerCreateObject("ADODBConnection")

ConnMode = 3 '3 = adModeReadWrite

ConnOpen "myDSN"

ConnExecute(SQL)

ConnClose

注意默认的Mode是设置0(adModeUnknown),它是允许更新的。

3。还有可能是在ODBC管理器中将该DSN的只读选项选中。

4。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新

这两个表中各自字段。

5。当你使用了一个从低版本中(如ACCESS20,ACCESS70)载入到高版本(ACCESS 2000)

中的查询时,在执行这个查询是会出现该错误。

意味着表的数据,从别的数据库过来的。

可以理解为 链接表 就是一个 “快捷方式”

针对链接表, 可以 SELECT / INSERT / DELETE / UPDATE 数据

对链接表 INSERT / DELETE / UPDATE 而对数据所做的修改,其实都是修改那个“被连接”的数据库的数据。

因为链接表自身不包含数据。

对链接表不能修改表的结构,原因在于,链接表只是一个“快捷方式”,要修改表结构,只能先去 “被链接”的数据库那里,修改表结构,然后,重新建立 链接表。

某些情况下,链接表无法插入数据,原因是 “被链接”的数据库的那张表,没有“主键”。 需要在链接表这里定义“主键”。 然后应该就能执行 INSERT *** 作了。

1、 创建数据

如果不往数据库里面添加任何的表,这个数据库等于没有建立,不会在硬盘上产生任何文件,如果数据库已经存在,则会打开这个数据库。

2、 如何通过sqlite3dll与sqlite3def生成sqlite3lib文件

LIB /DEF:sqlite3def /machine:IX86

3、 sqlite3_open打开一个数据库时,如果数据库不存在就会新生成一个数据库文件。如果接着执行其他查询语句就会失败,比如sqlite3_prepare,编程中出现明明指定了数据库而且里面也有数据,为什么查询失败了,主要是数据库名路径不对引起的。一般的做法是先检查数据库文件是否存在,如果存在就使用sqlite3_open打开数据库;否则创建一个新的数据库。

4、 如何建立自动增长字段

声明为INTEGER PRIMARY KEY的列将会自动增长。

5、SQLite3支持何种数据类型?

NULL

INTEGER

REAL

TEXT

BLOB

但实际上,sqlite3也接受如下的数据类型:

smallint 16位元的整数。

interger 32位元的整数。

decimal(p,s) p精确值和s大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。如果没有特别指定,则系统会设为p=5; s=0。

float 32位元的实数。

double 64位元的实数。

char(n) n长度的字串,n不能超过254。

varchar(n)长度不固定且其最大长度为n的字串,n不能超过4000。

graphic(n)和char(n)一样,不过其单位是两个字元double-bytes,n不能超过127。这个形态是为了支援两个字元长度的字体,例如中文字。

vargraphic(n)可变长度且其最大长度为n的双字元字串,n不能超过2000。

date包含了年份、月份、日期。

time包含了小时、分钟、秒。

timestamp包含了年、月、日、时、分、秒、千分之一秒。

6、SQLite允许向一个integer型字段中插入字符串

这是一个特性,而不是一个bug。SQLite不强制数据类型约束。任何数据都可以插入任何列。你可以向一个整型列中插入任意长度的字符串,向布尔型列中插入浮点数,或者向字符型列中插入日期型值。在CREATE TABLE中所指定的数据类型不会限制在该列中插入任何数据。任何列均可接受任意长度的字符串(只有一种情况除外:标志为INTEGER PRIMARY KEY的列只能存储64位整数,当向这种列中插数据除整数以外的数据时,将会产生错误。

方案一:

碰到报错数据库附加是只读,一般原因是因为使用sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定。

方案二:

使用sa登录SQL Server2008附加数据库,附加之后数据库为只读的,然后点数据库-->“属性”-->“选项”-->“状态”,发现“数据库为只读”这一项为True,改为false即可。

以上就是关于如何设置mysql 指定数据库为只读全部的内容,包括:如何设置mysql 指定数据库为只读、数据库建立宏只读数据模式打开表、为什么数据库只能读不能写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9293615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存