不能修改表 'content' 的設計。它在唯讀資料庫中解決辦法

來源:互聯網
上載者:User
不能修改表 '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");
$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);

然後用 access 管理器開啟它:

結論我想你已經得到了
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.