标签: alter

如何在不丢失数据的情况下改变MySQL表?

在我的应用程序中,我进行了一些更改并将它们上传到测试服务器.因为我无法访问服务器数据库,所以我运行ALTER命令对其进行更改.

使用方法我在服务器上运行以下命令:

ALTER TABLE `blahblahtable` ADD COLUMN `newcolumn` INT(12) NOT NULL
Run Code Online (Sandbox Code Playgroud)

之后,我发现表的所有数据都已删除.现在表格是空白的.

所以我需要改变表而不删除他的数据.有没有办法做到这一点?

mysql database alter

9
推荐指数
1
解决办法
1万
查看次数

如何使用Alter在SQL-Server 2014中的现有View中添加新列

我创建了一个基于另一个视图和一个表的视图.我想添加varchar类型的新列.我确实喜欢下面,但是语法错误?我是SQL的新手,所以,无法理解

ALTER VIEW [dbo].[MyView]
ADD New_Col varchar(10) null 
GO
Run Code Online (Sandbox Code Playgroud)

sql sql-server view alter

9
推荐指数
1
解决办法
5万
查看次数

将 MySQL 表列类型从 INT 更改为 BIGINT

我有一个包含不到 5000 万行的表。它达到了 INT 的限制 (2147483647)。目前该表尚未被写入。

我计划将 ID 列从 INT 更改为 BIGINT。我正在使用 Rails 迁移通过以下迁移来执行此操作:

  def up
    execute('ALTER TABLE table_name MODIFY COLUMN id BIGINT(8) NOT NULL AUTO_INCREMENT')
  end
Run Code Online (Sandbox Code Playgroud)

我已经在 2000 行的数据集上进行了本地测试,效果很好。在 5000 万条上运行ALTER TABLE命令应该没问题,因为目前该表没有被使用?

我想在运行迁移之前进行检查。任何意见将不胜感激,谢谢!

mysql ruby-on-rails alter

9
推荐指数
1
解决办法
1万
查看次数

HibernateJpaVendorAdapter的generateDdl不会改变表

我正在使用Spring + JPA + Hibernate开发一个网站.在持久性配置(JPA + Hibernate)中,我将HibernateJpaVendorAdapter的generateDdl属性设置为true,实际上新实体正确地在DB中创建新表.

但是,一旦创建了表,如果我向实体添加一个属性,我希望HibernateJpaVendorAdapter可以改变表并添加列.这种情况并没有发生,这很奇怪,因为在Java AbstractJpaVendorAdapter的setGenerateDdl方法文档中有:"设置是否在EntityManagerFactory初始化之后生成DDL,创建/ 更新所有相关表."

JPA + Hibernate配置:

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${db.driverClassName}" />
    <property name="url" value="${db.url}" />
    <property name="username" value="${db.username}" />
    <property name="password" value="${db.password}" />
</bean>

<bean id="jpaAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    <property name="databasePlatform" value="org.hibernate.dialect.MySQL5Dialect" />
    <property name="showSql" value="${db.showSql}" />
    <property name="generateDdl" value="${db.generateDdl}" />
</bean>

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="jpaVendorAdapter" ref="jpaAdapter" />
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">true</prop>
        </props>
    </property>
    <property name="dataSource" ref="dataSource" />
</bean>
Run Code Online (Sandbox Code Playgroud)

persistence.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<persistence
        xmlns="http://java.sun.com/xml/ns/persistence"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
   http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" …
Run Code Online (Sandbox Code Playgroud)

hibernate alter

8
推荐指数
2
解决办法
2万
查看次数

更改HUGE表中列的数据类型.性能问题

我想在我的桌子上运行它:

ALTER TABLE table_name MODIFY col_name VARCHAR(255)
Run Code Online (Sandbox Code Playgroud)

但我的桌子很大,它的行数超过6500万(6500万).现在,当我执行时,执行此命令需要将近50分钟.改变表的更好方法是什么?

mysql alter

8
推荐指数
1
解决办法
4938
查看次数

从mysql列中删除枚举值

我有一个名为enum列的表action.目前允许的值是: act1,act2,act3,act4.我想要act3act4被删除,我的表的当前状态不包含任何行act3act4.

当我尝试使用新的值集修改列时,它会抛出错误 Data Truncated for column action.

请建议如何删除所需的值.

mysql enums alter

8
推荐指数
1
解决办法
4610
查看次数

删除 ON DELETE CASCADE

我有一张儿童桌。在创建表时使用 ON DELETE CASCADE 和外键。

子表或父表中都没有记录。

我希望主键和外键保持原样,但只想从子表中删除 CASCADING 选项。

无论如何我可以改变那个子表。

谢谢你。

sql cascade constraints alter

8
推荐指数
2
解决办法
1万
查看次数

Oracle Alter命令重命名现有的列错误环

alter table tablename rename column zl_divn_nbr to div_loc_nbr;
Run Code Online (Sandbox Code Playgroud)

执行以上语句时出错。请帮忙。

SQL Error: ORA-54032: column to be renamed is used in a virtual column expression
54032. 0000 -  "column to be renamed is used in a virtual column expression"
*Cause:    Attempted to rename a column that was used in a virtual column
           expression.
*Action:   Drop the virtual column first or change the virtual column
           expression to eliminate dependency on the column to be renamed
Run Code Online (Sandbox Code Playgroud)

oracle alter identity-column

8
推荐指数
2
解决办法
3014
查看次数

我可以使用ALTER DATABASE重命名mysql数据库吗?

我正在使用PDO和PHP创建一个新数据库,然后创建一个具有该数据库权限的新用户.如果其中一个失败,我想重命名数据库和用户,以便以后删除它们并且名称可用.

是否可以使用ALTER DATABASE重命名mysql数据库?

php mysql database pdo alter

7
推荐指数
1
解决办法
2万
查看次数

PostgreSQL - 如何将超级用户更改为无超级用户?

我有一个角色:

CREATE ROLE x LOGIN
  ENCRYPTED PASSWORD '....'
  SUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
Run Code Online (Sandbox Code Playgroud)

该角色已经创建。

我想修改为:

  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
Run Code Online (Sandbox Code Playgroud)

将 更改SUPERUSERNOSUPERUSER;

不做就可以做吗Drop role

sql database postgresql alter superuser

7
推荐指数
1
解决办法
3470
查看次数