没有类似于select scope_identity()这样的函数,最好在应用程序中自己生成GUID 插入数据库,
这样就不需要利用主键默认值是newid(), 或者在后台使用newid()生成GUID
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
insert into table1 (PK_FIELD)
values (@myid)
rs("ordermoney")=newid() 不可以地,newid()又不是程序的函数INSERT INTO order (ordermoney) VALUES (newid())
------
orderNO 是唯一的吧,那样就不增加其他也行
----------
<% set rs=Server.CreateObject("adodb.recordset")
sql = "select * from [order] where orderNO='"&request("orderNO")&"'"
rs.Open sql,conn,1,1
if rs.eof then
conn.execute ("INSERT INTO [order] (orderNO,customername,sourceType,customerTele,installaddress,customerFaxn,webflag,OrderGuid) VALUES ('"&Request("orderNO") &"','" &Request("customername") &"','"&Request("sourceType") &"','"&Request("customerTele") &"','" &Request("installaddress") &"','"&Request("customerFax") &"',1," &newid() &")" )
response.write "添加成功"
else
response.write("记录已存在!")
end if
%>
newid()在sqlserver
中用于随机排序,在mysql中可用rand()表示。
可通过以下数据进行测试:
创建表及插入数据:
create table test
(id int)
insert into test values (1)
insert into test values (2)
insert into test values (3)
insert into test values (4)
insert into test values (5)
insert into test values (6)
insert into test values (7)
insert into test values (8)
insert into test values (9)执行语句:
select * from test order by rand()第一次执行结果:
第二次执行结果:
结论:这样试验了两次,每次的排序是不同的,也就证明实现了要求的随机排序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)