Home  >  Article  >  Backend Development  >  不能修改表 'content' 的设计。它在只读数据库中,该怎么处理

不能修改表 'content' 的设计。它在只读数据库中,该怎么处理

WBOY
WBOYOriginal
2016-06-13 11:45:461256browse

不能修改表 'content' 的设计。它在只读数据库中
$db=$_SERVER['DOCUMENT_ROOT']."\myfirst.mdb";
$connstr="Driver={Microsoft Access Driver (*.mdb)};Dbq=$db";
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC) or die("数据库打开失败!请联系管理员"); 
echo 123;
$sql="create table content(id counter constraint primarykey primary key,[标题] varchar(50) null,[省市] varchar(30) null,[内容] varchar(255),[已采] bit,[已发] bit)"; 
echo $sql;
odbc_exec($connid,$sql);
执行结果:
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] 不能修改表 'content' 的设计。它在只读数据库中。, SQL state 42000 in SQLExecDirect in G:\zhengli\access.php on line 9
怎么解决错误,顺利创建access表
------解决方案--------------------
表 content 已经存在了,你再 create table content ... 当然是要报错啦
修改表结构要用 ALTER 指令
你一定要重新建表的话,请先删除该表(DROP 指令)
------解决方案--------------------
没有content表? 权限不够吧。
------解决方案--------------------
在 Access 管理其中新建一空数据库 db1
执行你的代码

$db = realpath("db1.mdb");<br />$connstr = "Driver={Microsoft Access Driver (*.mdb)};Dbq=$db";<br />$connid = odbc_connect($connstr,"","",SQL_CUR_USE_ODBC) or die("数据库打开失败!请联系管理员"); <br />echo 123;<br />$sql = "create table content(id counter constraint primarykey primary key,[标题] varchar(50) null,[省市] varchar(30) null,[内容] varchar(255),[已采] bit,[已发] bit)"; <br />echo $sql;<br />odbc_exec($connid, $sql);

然后用 access 管理器打开它:

结论我想你已经得到了

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn