我有许多表,它们的ID列的名称不同,但是要更新的列名称保持不变。
例如
Columns:
fooID | x | y | UPDATEME | t | ..
barID | a | UPDATEME | b | ..
bazID | UPDATEME | m | l | ..
如您所见,ID列始终排在第一位,但列名不断变化。而且我想更新
UPDATEME
列,而不考虑ID列的名称。UPDATE `UPDATEME` WHERE `FIRST_COLUMN` = #
我该怎么做?我知道
ORDER BY column_order
语法,但是不能在WHERE
子句中使用它。 最佳答案
没有SQL语法可以做到这一点。但是您可以访问数据库元数据(INFORMATION_SCHEMA)来生成更新语句。
像这样:
select
concat(
'update ',
table_name,
' set updateme=1212 where ',
column_name,
'=12123;'
)
from information_schema.columns
where ordinal_position = 1;
关于sql - 第一栏中的MySQL UPDATE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4225298/