Is it possible to rename columns?

笑着哭i 提交于 2019-12-11 05:59:45

问题


Is it possible to issue something like

RENAME COLUMN col1 col2

in Google Cloud Spanner? It looks from the DDL that this isn't possible; if not, is this a design choice or a limitation whilst in Beta?


回答1:


No, this is not possible. Currently you can only do the following with regard to altering columns in a table:

  • Add a new one
  • Delete an existing one, unless it's a key column
  • Change delete behavior (cascading or not)
  • Convert between STRING and BYTES
  • Change length of STRING and BYTES
  • Add or remove NOT NULL modifier

A work around is possible by following these steps in order:

  • Add the new column to your table
  • Update your code to read to from both columns
  • Update your code to only write to the new one
  • Run a Cloud Dataflow job to migrate the data from the old column to the new column
  • Update your code to only read from the new column
  • Drop the old column

Keep in mind the above steps will not work for the primary key column, you'll have to do by creating a new table, and doing the data migration that way.



来源:https://stackoverflow.com/questions/42506782/is-it-possible-to-rename-columns

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!