2015-10-14 95 views
0

我有一个表Users与列UserAccountID(char),Username(varchar),Password(varchar)。问题与SQL和插入guid号

在ASP.NET MVC中,我创建了一个用于创建新用户的表单,但我不知道如何自动生成该数字。我认为我需要一些触发器,但我不确定这是一个好方向吗?我不知道如何以编程方式将UserAccountID这个数字传递给另外两列,无论用户在文本字段中输入什么内容?

CREATE TABLE [dbo].[Users] (
[UserAccountID] CHAR (36) NOT NULL, 
[Username] VARCHAR (45) NOT NULL, 
[Password] VARCHAR (45) NOT NULL, 
PRIMARY KEY CLUSTERED ([UserAccountID] ASC) 
); 
+1

你的rdbms是什么?你知道什么'autonumeric' [fields](http://www.w3schools.com/sql/sql_autoincrement.asp)是什么? –

+2

除非您有充分理由不使用自动递增字段,否则请使用自动递增字段。 http://www.w3schools.com/sql/sql_autoincrement.asp –

+0

我知道a-i领域,但任务是使用guid,这是我第一次听说他们。我在Visual Studio中使用它。 –

回答

0

那么你可以通过只使用

Guid g = Guid.NewGuid(); 

在应用中创建一个新的GUID或让数据库与SQL服务器newsequentialid()产生为你(或其他一些功能取决于什么数据库服务器上您正在使用),或者在INSERT命令中或作为列的默认值。

我还会考虑将列类型更改为uniqueidentifier而不是char

+0

未指定DBMS,也没有指定ID列的长度, –

+0

如何在插入命令或作为difault值? –

+0

我明白了。你给了我一些想法。谢谢 –