我有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."
}
}
答案 0 :(得分:2)
Google Cloud Spanner数据库中不允许进行此修改。只允许以下更改:https://cloud.google.com/spanner/docs/schema-updates#supported_schema_updates