2010-06-29 124 views
1

聽起來可能很複雜,但事實並非如此。 我有一個名爲「訂單」表,與字段:SQL插入字段,其值爲其他自動增量字段+值

id INT(11) auto_increment, 
realid INT(14) 

現在,我想在每一個插入到這個表中,這樣做:

INSERT INTO orders VALUES (null, id+1000); 

但是我會做下去目前在線的商店,我想在5分鐘內改變一切。會有這樣的工作嗎?如果不是,我該怎麼做?

+1

您正在使用哪種RDBM? – pcent 2010-06-29 16:32:36

+1

如果你只是要插入NULL,爲什麼要有id字段? – Tahbaza 2010-06-29 16:33:59

+0

所以你想插入像(1,1001),(2,1002)等對?你爲什麼想這麼做?如果需要,您可以在客戶端或選擇中選擇「realid」,否則可以爲數據庫帶來冗餘。 – 2010-06-29 16:41:28

回答

5

我想一個簡單的解決方案將是一個計算列意味着你的DBMS支持的話(這是通過使用SQL Server語法,雖然MySQL的語法應該是幾乎相同的,只是你會使用的AUTO_INCREMENT代替Identity(1,1)):

Create Table Foo (
        Id int not null identity(1,1) 
        , Name varchar(50) 
        , Bar As Id + 1000 
        ) 

當然,您也可以在演示文稿或業務層而不是數據庫中執行此操作。

相關問題