【发布时间】:2020-12-18 05:12:06
【问题描述】:
插入后我需要更新表中的 ID 列。 ID 是 varchar 和自动增量。我需要更新 ID 的值。 例如。 当我们插入一列时,ID 值应该是 10,所以在触发器执行后,ID 值应该更新为 10F。
【问题讨论】:
-
听起来这是一个渲染问题。使用/显示 ID 时不能只连接“F”吗?
-
先生不能这样做,因为 ID 值是用来区分其他 ID 值的。我需要创建一个触发器,以便在插入新列时更新 ID 列并将“F”连接到它。
-
好的。那么听起来 ID 并不是真正的 ID,而是真正的复合键的一部分。从根本上说,ID 永远不应该改变,即使在插入时的触发器中也不应该改变。一般来说,触发器是一个坏主意。将代码放在易于测试和理解的应用层中。或者为 id_suffix 添加另一列并加入/使用 ID 和该列的串联
-
先生,实际情况是,有 2 个不同的表包含 ID 列,现在我们有一个查询可以从两个表中获取数据(使用联合)。现在这个 ID 列用于知道列数据来自哪个表,因此我必须编写代码。我不允许向表中添加新列。
-
实际上的情况是,有 2 个不同的表包含 ID 列,现在我们有一个查询可以从两个表中获取数据(使用联合)。现在这个 ID 列用于知道列数据来自哪个表,因此我必须编写代码。 在您的 UNION 代码中执行此操作:
SELECT *, '1' source FROM table1 UNION ALL SELECT *, 2 FROM table2。
标签: mysql