2017-05-09 77 views
-1

如何做到以下几点:在一个事务中MySQL:更新列,如果存在,否则什么都不做?

if table has column 'name' - update 'name', else - do nothing? 

我的工作SQL是

UPDATE tmp set name = NULL 

tmp目录表基斯更新和关闭名称为NULL需要重复的过程记录。但是,有些表格没有“名称”字段。

那么,是否有可能更新列为空,如果存在,否则,什么都不做?

+1

我不明白downwotes,但无论如何,对于那些提出了相同问题的人来说 - 从一个不存在没有错误的列(例如,无声忽略)读取(或写入)不可能与mysql 。列名(列中存在的列)是已知的。解决方法 - 读取第一个信息模式以获取所有列名并相应地继续。这个过程将需要交易进行几个sqls。 – bbe

回答

0

据我所知,这是不可能的。此外,我建议不要一次对多个表格进行任何修改。一般来说,每个表都是唯一的,根据字段名称将字段设置为NULL可能会导致重要数据丢失。

相关问题