【问题标题】:How to insert default value in unknown column如何在未知列中插入默认值
【发布时间】:2021-06-08 08:26:31
【问题描述】:

我有一个函数可以向表中插入一些数据。我不知道该表有多少列(假设为 N)。

我的函数得到一个 N-1 参数列表,然后

INSERT INTO ... VALUES( *N-1 params* ) 

最后第 N 列是标准的 ID 列,我想将其设置为 DEFAULT(ID 列的默认值 =“max”并且自动递增)

主要问题:由于我不知道我正在使用的列的名称,我无法手动将数据输入数据库。

如何插入一行数据,如果我不知道列数,但我知道我比应有的少 1 并且最后一列自动递增/具有默认值?

【问题讨论】:

  • ID 列是否自动递增?
  • @KaziMohammadAliNur 是的!

标签: sql database sqlite


【解决方案1】:

如果知道N-1个参数的顺序与表定义中的列顺序(CREATE stamenet)完全一致,那么就不需要枚举INSERT 语句中的列。

ID 列的列表中再添加 1 个NULL 值(如果您说它是最后定义的,则在列表末尾):

INSERT INTO tablename VALUES(param1, param2, ..., paramN-1, NULL)

通过为ID 传递NULL,它将增加,因为它被定义为AUTOINCREMENT

查看简化的demo

【讨论】:

    猜你喜欢
    • 2019-05-02
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 2021-02-02
    • 2011-11-14
    • 2014-11-12
    相关资源
    最近更新 更多