Create table(access環境下)自動編號類型的寫法



轉自:http://hi.baidu.com/bjkstx/blog/item/b612072a03349d20d52af103.html

Create table(access環境下)自動編號類型的寫法

2010-07-27 14:23
方法一:

create table tablename(id counter constraint primarykey primary key)   
需要注意的地方是:第二個primary中間有空格,另外,關鍵字不區分大小寫. 以上語句, 只生成一個字段名為 id 的字段

方法二: 

create table mytb (id autoincrement(25,1) primary key,age int)

create table testtb (id autoincrement,age int,email char, primary key (id))
其中在access中,autoincrement為自動編號類型字段,(25,1)分別為初始值及步長值,如果不寫的話,默認是1,1,primary key指定了主鍵,以上示例,兩種指定方法都可以.


實例:

create table jf_17(id autoincrement(1,1) primary key,
username text,
email text,
homepage text,
title text,
content Memo,
addtime datetime,
ip text,
lastname text,
lasttime datetime,
re_count int,
icon text,
click int);

創建一張空表:
Sql="Create TABLE [表名]"
創建一張有字段的表:
Sql="Create TABLE [表名]([字段名1] MEMO NOT NULL, [字段名2] MEMO, [字段名3] COUNTER NOT NULL, [字段名4] DATETIME, [字段名5] TEXT(200), [字段名6] TEXT(200))
字段類型:
2 : "SmallInt", // 整型
3 : "Int", // 長整型
4 : "Real", // 單精度型
5 : "Float", // 雙精度型
6 : "Money", // 貨幣
7 : "DateTime", // 日期時間
11 : "Bit", // 是否
13 : "TimeStamp",
17 : "TinyInt", // 字節
72 : "UniqueIdentifier", // 同步復制 ID
128 : "Binary",
129 : "Char",
130 : "NChar",
131 : "Decimal", // 小數
133 : "DateTime",
135 : "SmallDateTime",
200 : "VarChar",
201 : "Text",
202 : "VarChar", // 文本
203 : "Text", // 備注
204 : "Binary", // 二進制
205 : "Image" // OLE 對象
以下字段為無編碼字段(NChar、NVarchar、NText型)
8,128,130,202,203,204,205
以下字段為按當前系統內碼編碼的字段(Asp中可用CodePage=936糾正為gb2312內碼)
129,200,201
在現有的表中增加字段:
Sql="alter table [表名] add column [字段名] varchar(200)"
修改字段類型:
Sql="alter table [表名] Alter COLUMN 字段名] varchar(50)"
刪除表:
Sql="Drop table [表名]"
刪除字段:
sql="alter table [表名] drop [字段名]"
修改字段:Alter TABLE [表名] Alter COLUMN [字段名] 類型(大小) NULL
新建約束:Alter TABLE [表名] ADD CONSTRAINT 約束名 CHECK ([約束字段] <= '2007-1-1')
刪除約束:Alter TABLE [表名] Drop CONSTRAINT 約束名
新建默認值:Alter TABLE [表名] ADD CONSTRAINT 默認值名 DEFAULT 'Gziu.CoM' FOR [字段名]
刪除默認值:Alter TABLE [表名] Drop CONSTRAINT 默認值名

=======================================
conn.open connstr
sql="alter table [tablename] add hehe char(20)"
conn.execute(sql)
response.write("添加成功")
ACCESS新建數據庫和表還不簡單,有了表字段初始化就更簡單
=======================================
<% 
session("tablen")="news" 
'news是已存在的表名 
session("fieldsn")="c" 
'要添加的字段名 
connectionstring="provider=microsoft.jet.oledb.4.0;data source="&server.MapPath("data/qq.mdb") 
set conn=server.createobject("adodb.connection") 
conn.OPEN connectionstring 
jhsql = " Alter Table "&session("tablen")&" add column "&session("fieldsn")&" real " 
conn.execute(jhsql) 
%>
================================
生成數據表,添加字段,其中id字段為自動增加,測試通過~~
Sub GenAutoIncrementFld()
set cn=server.CreateObject("ADODB.Connection")
set clx=server.CreateObject("ADOX.Column")
set cat=server.CreateObject("ADOX.Catalog")
set tblnam=server.CreateObject("ADOX.Table")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\網站制作\asp操作mdb\db\test.mdb"
Set cat.ActiveConnection = cn
tblnam.Name = "Test"
clx.ParentCatalog = cat
clx.Type = 3
clx.Name = "Id"
clx.Properties("AutoIncrement") = true
tblnam.Columns.Append clx
tblnam.Columns.Append "DataField",130,20
cat.Tables.Append tblnam
Set clx = Nothing
Set cat = Nothing
cn.Close
Set cn = Nothing
End Sub
call GenAutoIncrementFld
===================================
字段類型對應數值
''---- DataTypeEnum Values ---- 
Const adEmpty = 0 
Const adTinyInt = 16 
Const adSmallInt = 2 
Const adInteger = 3 
Const adBigInt = 20 
Const adUnsignedTinyInt = 17 
Const adUnsignedSmallInt = 18 
Const adUnsignedInt = 19 
Const adUnsignedBigInt = 21 
Const adSingle = 4 
Const adDouble = 5 
Const adCurrency = 6 
Const adDecimal = 14 
Const adNumeric = 131 
Const adBoolean = 11 
Const adError = 10 
Const adUserDefined = 132 
Const adVariant = 12 
Const adIDispatch = 9 
Const adIUnknown = 13 
Const adGUID = 72 
Const adDate = 7 
Const adDBDate = 133 
Const adDBTime = 134 
Const adDBTimeStamp = 135 
Const adBSTR = 8 
Const adChar = 129 
Const adVarChar = 200 
Const adLongVarChar = 201 
Const adWChar = 130 
Const adVarWChar = 202 
Const adLongVarWChar = 203 
Const adBinary = 128 
Const adVarBinary = 204 
Const adLongVarBinary = 205 
Const adChapter = 136 
Const adFileTime = 64 
Const adPropVariant = 138 
Const adVarNumeric = 139 
Const adArray = &H2000


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM