【问题标题】:SQL insert field, with value of other auto increment field + valueSQL插入字段,其他自增字段的值+值
【发布时间】:2010-06-29 16:30:05
【问题描述】:

这听起来可能很复杂,但事实并非如此。 我有一个名为“订单”的表格,其中包含以下字段:

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

现在,我希望在每次插入此表时,执行以下操作:

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

但是,我将在当前在线的商店中进行此操作,并且我想在 5 分钟内更改所有内容。这样的事情会起作用吗?如果没有,我该怎么做?

【问题讨论】:

  • 如果你只想在其中插入 NULL,为什么还要有 id 字段?
  • 那么你想插入像 (1, 1001), (2, 1002) 这样的对吗?你为什么想这么做?如果需要,您可以在客户端或选择中计算“realid”,否则会为您的数据库带来冗余。
  • @Tahbaza - 这是为了节省时间。而不是 INSERT INTO orders(realid) VALUES (1001),我可以写 null,它会自动增加。 @Frantisek - 正如我所说,网站在线,现在我必须解决

标签: php sql auto-increment


【解决方案1】:

我认为一个更简单的解决方案是假设您的 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 
                    )

当然,您也可以只在表示层或业务层而不是数据库中进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 2015-03-11
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    相关资源
    最近更新 更多