【发布时间】:2016-06-14 06:08:39
【问题描述】:
我想为表中的所有列提供相同的值,即时间戳。假设列是未知的。
有什么办法可以做到这一点
INSERT INTO table VALUES ('one value');
不指定列名?
更新:
假设我有一个名为“student”的表,其中包含“f_name”、“m_name”和“l_name”。
假设(假设)我做INSERT INTO student VALUES ('John');
然后我希望我的桌子看起来像这样。
-----------student------------
f_name | m_name | l_name
------------------------------
John | John | John <--- (The record i just inserted)
【问题讨论】:
-
可以对所有记录执行
UPDATE。您可以简单地省略任何WHERE限制。但是对于INSERT,这没有任何意义,因为 RDBMS 怎么会知道停止(或开始)插入所需数量的记录? -
这与行无关。反正就是一张唱片。我不知道如何进一步解释这一点。对不起。我要的实际上很简单。所有列只有一个值。
-
你知道列数还是这个也不知道?
-
@TimBiegeleisen 请检查更新。这就是我能解释的。要回答你的问题,是的。列数也不知道。
-
我能看到的唯一方法是首先查询表中的列。但强制您列出列是一种很好的做法。例如,如果一列的类型为
TINYINT,会发生什么情况?您的插入可能会导致错误。一般来说,您不应该在整条记录中盲目插入数据。