一个用Create Table语句建立数据表的问题

OrberCN 2004-01-04 12:33:02
Access数据库
要建一个表,表中有一个字段,类型为varchar或text。要求这个字段的属性为“允许空值”、默认值为空字符,使用下面语句

sql="Create Table newTable(textField text default '')"

建出来的表,默认值是''(并不是空字符),而且也不是允许为空值的。
怎样才能实现我想要的效果?
...全文
196 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
OrberCN 2004-01-05
  • 打赏
  • 举报
回复
哦,好的
谢谢您!
看来一定要两次操作:)

我结贴了:)
nchen123 2004-01-05
  • 打赏
  • 举报
回复
设定默认值很奇怪, 我用 access 里面的查询不可以,而写到 asp 里面就可以。
nchen123 2004-01-05
  • 打赏
  • 举报
回复
上面 set myfield = server.createobject("adox.column") 这一行可以去掉,我多写了
nchen123 2004-01-05
  • 打赏
  • 举报
回复
default 是可以用的,这个我搞错了,sorry

设置可以为空,代码如下,调试通过:

<%
dim conn, strConn

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Password="""";Data Source=C:\www\db1.mdb;Persist Security Info=True"
set conn = server.createobject("adodb.connection")
conn.open strConn

dim sql
sql = "Create Table newTable(textField text default abc)"
conn.execute(sql)

dim mydb, mytable, myfield

set mydb = server.createobject("adox.catalog")
set mytable = server.createobject("adox.table")
set myfield = server.createobject("adox.column")

mydb.ActiveConnection = conn
set mytable = mydb.tables("newTable")
mytable.columns("textField").properties("Jet OLEDB:Allow Zero Length") = true

set mytable = nothing
set mydb = nothing
set conn = nothing
%>
OrberCN 2004-01-05
  • 打赏
  • 举报
回复
我真的试过了,真的可以得到abc这样的默认值的,而且也可以正常输出abc
你也不妨试试啊
不仅text型的可以,datetime的默认值也可以用default Now()来设定,其他的数字型也可以用default 1之类的设定默认值。
其实我只是想设定“允许空字符串”而已
如果真的不行就算了,我想别的办法:)
nchen123 2004-01-05
  • 打赏
  • 举报
回复
你再试试看, access 是不可以的
OrberCN 2004-01-05
  • 打赏
  • 举报
回复
inelm(Archimond 【阿克蒙德】)
我看了你给的文章,但是不是很明白。
在ASP里面执行SQL语句建立数据表,是可以设定字段的默认值的,
sql="Create Table newTable(textField text default abc)"
就可以设定一个默认值为abc这个字符串的字段。
nchen123 2004-01-05
  • 打赏
  • 举报
回复
JET SQL 不支持 DEFAULT 语法,你要定义默认值必须调用 DAO 或者 ADOX

请参考:
http://access911.net/index.asp?board=4&recordid=74FAB01E15DC
OrberCN 2004-01-05
  • 打赏
  • 举报
回复
看来是我的问题问的不够简明,简单地只问一次:

怎样在建立表的时候,设定字段的“允许为空字符串”属性的值为“是”?

请高手继续帮助我,谢谢!
MajorCS 2004-01-04
  • 打赏
  • 举报
回复
不会,帮顶:)
wanghr100 2004-01-04
  • 打赏
  • 举报
回复
Create Table newTable(
newtableid smallint,
textField text default Null
)

默认是允许为空值的.

在SQL Server测试通过...
OrberCN 2004-01-04
  • 打赏
  • 举报
回复
我。。。再顶。。。顶到高手出现为止。。。。
OrberCN 2004-01-04
  • 打赏
  • 举报
回复
顶一下!

对高手来说,这个问题应该不难吧?
pangpangxu 2004-01-04
  • 打赏
  • 举报
回复
建表格:
语法:
CREATE TABLE table_name(
column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...)
说明 
DATATYPE --是资料的格式,详见表。
NUT NULL --可不可以允许资料有空的(尚未有资料填入)。
PRIMARY KEY --是本表的主键。
OrberCN 2004-01-04
  • 打赏
  • 举报
回复

sql="Create Table newTable(textField text NULL)"
实现的是设定是否为“必填字段”,NULL不写,默认也是可以的。
但是我希望能够设定的属性是“允许空字符串”,并且默认值为空字符串。

请高手继续赐教!

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧