如题。我要往一个SQL数据库里插入一个图片。而且要在插入后立即获得这个图象的id。我想过用SELECT TOP 1 FROM table取id的,但是这样怕会起冲突,万一多人同时更新的话会出错。
所以我又想能不能根据图象的字段大小来配合进行判断,但是我不知道SQL里有什么函数是可以取得image字段的长度的?
或者大家还有什么好的办法?SOS~~~~
如题。我要往一个SQL数据库里插入一个图片。而且要在插入后立即获得这个图象的id。我想过用SELECT TOP 1 FROM table取id的,但是这样怕会起冲突,万一多人同时更新的话会出错。 所以我又想能不能根据图象的字段大小来配合进行判断,但是我不知道SQL里有什么函数是可以取得image字段的长度的? 或者大家还有什么好的办法?SOS~~~~
晕哦~~
这些语句我都看不懂啊,特别是那个@@是什么意思啊?
不过我倒是通过别的途径解决这个问题了。
我把id字段设置为主键,但是没有设置递增种子。
然后我用SELECT TOP 1 FROM table ORDER BY id DESC
把最高条id取出来以后,再把id加一,然后
INSERT INTO table(id,ziduan) VALUES(@idwithaddone,@ziduan)
这样就算有两个用户同时取到了最高的id,但是第二个用户在插入数据的时候肯定会因为id相同而引发一个异常。我试过了。asp.net能够捕获这个异常
哪怕是sqlcommand.ExecuteNonQuery();还是能够捕获这个异常。
这样我有可以用一个死循环来反复取id,id+1,插入,直到成功为止。
此方法可能还有不完善的地方。请看到本帖的朋友广提意见。呵呵~