将INT64列类型转换为STRING

时间:2017-07-15 17:02:39

标签: google-cloud-platform google-cloud-spanner

我有table homes_passed,它有一个street_number列,它不可为空,类型为INT64。我想使用alter table命令将列更改为STRING,但由于某种原因我无法实现它。

更改列的类型是否有任何规则?我无法在文档中找到规则。任何指针都会有所帮助。

请注意,该表为空,该列不是任何索引的一部分。

这是我收到的操作状态。

 {  
       "name":"projects/*****************/instances/my-instance/databases/my-database/operations/_auto_15*************",
       "metadata":{  
          "@type":"type.googleapis.com/google.spanner.admin.database.v1.UpdateDatabaseDdlMetadata",
          "database":"projects/*****************/instances/my-instance/databases/my-database",
          "statements":[  
             "ALTER TABLE homes_passed ALTER COLUMN street_number STRING(130) NOT NULL"
          ]
       },
       "done":true,
       "error":{  
          "code":3,
          "message":"Cannot change type of column homes_passed.street_number from INT64 to STRING."
       }
    }

1 个答案:

答案 0 :(得分:2)

Google Cloud Spanner数据库中不允许进行此修改。只允许以下更改:https://cloud.google.com/spanner/docs/schema-updates#supported_schema_updates