我有很多表,其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
子句中使用它。
答案 0 :(得分:1)
没有SQL语法可以做到这一点。但您可以访问数据库元数据(INFORMATION_SCHEMA)来生成更新语句。
这样的事情:
select
concat(
'update ',
table_name,
' set updateme=1212 where ',
column_name,
'=12123;'
)
from information_schema.columns
where ordinal_position = 1;