当前位置: 首页 > 知识库问答 >
问题:

如何更改数据库中已注册的数据类型

单于海荣
2023-03-14

我现在正在开发一个系统,该系统将表的主键定义为“int”,这个主键有一个规则序列:“yearmonthmonth”6个数字。例如:“2105000001”,但“22”(2022)的年份没有被预测,或者,如果我将序列的这种模式调整到当前年份,它将给出一个错误,因为它超过了最大值。质疑:这个系统非常庞大,在java、postgresql数据库中,切换到Long的利弊是什么?它会对数据库性能产生类似的影响吗?银行中所有已保存为int的ID是否会自动更改为Long?抱歉,但我不知道最安全的解决方法。。非常感谢。

共有1个答案

孟沛
2023-03-14

您可以使用ALTER TABLE更改数据类型,而不会丢失任何值:

 alter table the_table
     alter the_column type bigint;

请注意,这将锁定表,其内容将被重新写入。因此,您必须停止任何访问该表的应用程序。

您还需要更改引用该表的所有列的类型。

 类似资料:
  • 问题内容: 我正在尝试更改derby db列的数据类型。当前价格列设置为DECIMAL(5,0)。我想将其更改为DECIMAL(7,2)。我是这样做的: 但是它不起作用,并显示错误: 我可以知道如何进行更改吗?谢谢你。 问题答案: 这是Derby SQL脚本,用于将列MY_TABLE.MY_COLUMN从BLOB(255)更改为BLOB(2147483647):

  • 我从中向R导入数据的平台不支持指定数据类型,因此我的所有列都是。我有一个Excel文件,指定哪些列是,包括相关的和。现在,我正在尝试编写一个函数来动态更改数据中各个列的数据类型。框架 多亏了对这个问题的出色回答(dplyr-mutate:use dynamic variable names),我成功地编写了以下函数,在其中我动态地将列名设置为函数。 它起作用了,每次迭代都会返回整个数据帧,相关列(

  • 问题内容: 我想将多列的数据类型从float更改为int。最简单的方法是什么? 尚无数据可担心。 问题答案: http://dev.mysql.com/doc/refman/5.1/en/alter- table.html 这将更改给定列的数据类型 根据您希望修改的列数,最好生成一个脚本或使用某种mysql客户端GUI

  • 问题内容: 我们有一个已部署的WAR文件,但是我们想更改数据库设置。我该怎么做呢?我在IDE中打开WAR文件,大约有2-3个地方具有数据库设置。更改它的正确方法是什么? 谢谢 问题答案: 应当将tomcat实例设置为通过JNDI提供数据源。

  • 我在我的应用程序中使用RoomDB。其实我想看db文件。 上面的代码是给我db文件所在的目录保存目录是这样的 但我仍然无法从命令提示符下使用sudo访问数据目录。现在我想把DB文件的位置改成内存或SD卡中的其他文件夹。我该怎么做?