alter-table相关内容

更改表(如果存在)或创建(如果不存在)

我需要运行一个安装程序,该安装程序也可以是更新程序. 无论某些表是否存在,缺少几列或由于其结构是最新的而无需更改,安装程序都必须最终具有mysql数据库的特定方案/结构. 如何将ALTER和CREATE完美地组合在一起? 我当时想应该有类似"ADD ... IF ... Duplicate"之类的东西 说我有表A.在一个客户端中,该表具有一列-A1,而另一个客户端具有相同的表,但 ..
发布时间:2020-05-15 18:45:40 数据库

"alter table named"和"rename table"有什么区别?

我正在使用MySQL.这是一个示例,我想将表A重命名为B,所以以下语句之间有什么区别: alter table A rename to B; 和这个: rename table A to B; 谁能提供详细的比较?会因引擎不同而异吗? 解决方案 如 对于没有任何其他选项的 ALTER TABLE tbl_name RENAME TO new_tbl_name ,MyS ..
发布时间:2020-05-15 06:02:41 数据库

如何使用命令行更改MySQL表的外键

如何使用命令行更改MySQL中的现有表,将外键设置为另一个表? 解决方案 您必须删除现有的foreign key并创建另一个.例如这样的 ALTER TABLE my_table DROP FOREIGN KEY my_key; ALTER TABLE my_table ADD CONSTRAINT my_key FOREIGN KEY ('some_id') REFERENCES ..
发布时间:2020-05-15 04:25:09 数据库

MySQL-尝试添加新列时出现重复输入错误

我有一个MySQL数据库,其中的表使用innodb引擎具有200万行.我想添加另一列,但仍然出现以下错误: Error 1062: Duplicate entry '' for key 'PRIMARY' SQL Statement: ALTER TABLE `mydb`.`table` ADD COLUMN `country` VARCHAR(35) NULL DEFAULT NULL ..
发布时间:2020-05-15 04:21:46 数据库

alter table add ...在“代码"之前?

ALTER TABLE tada_prod.action_6_weekly添加列id INT空member_id之后自动输入唯一的值; 有效 所以我想将列添加为我可以做的第一列 ALTER TABLE `tada_prod`.`action_6_weekly` ADD COLUMN `id` INT NULL AUTO_INCREMENT UNIQUE BEFORE `c ..
发布时间:2020-05-15 02:15:06 数据库

警告:长时间等待信号量

在过去的4天里,我的每晚更新遇到了很多问题,除了1夜,在这4天之间一切正常. 在这些更新过程中,我更新了两个全文索引.我以这种方式做. 删除全文索引 更新全文表 添加全文索引 此功能已完美运行了2年以上.通常的更新时间约为3-4小时,这对于每晚更新的数据量来说是正常的.但实际上自星期五以来,更新时间一直在 9-12 小时之间! 昨晚服务器在引擎中故意崩溃,这是在错误日志 ..
发布时间:2020-05-15 00:56:50 数据库

如何在MySQL中从表中删除列

给出使用以下命令创建的表: CREATE TABLE tbl_Country ( CountryId INT NOT NULL AUTO_INCREMENT, IsDeleted bit, PRIMARY KEY (CountryId) ) 如何删除列IsDeleted? 解决方案 ALTER TABLE tbl_Country DROP COLUMN IsDele ..
发布时间:2020-05-15 00:34:45 数据库

ALTER TABLE表AUTO_INCREMENT = $ x

我想执行此查询,但是它不起作用,我也不知道为什么: $query = mysqli_query($connexionUser, "ALTER TABLE creatik AUTO_INCREMENT = '$i'"); 我检查了我的var,还可以. 如果可以帮助您了解问题所在,则在作为主键的id列上设置自动递增. 感谢您来看看:) 解决方案 AUTO_INCREMENT需要 ..
发布时间:2020-05-15 00:26:22 PHP

修改活动表以使键不唯一

我看到了与此有关的其他一些问题,但它们不是MySQL. 该数据库是一个实时数据库,因此我不想删除并重新创建该表.我只是想使一列不再唯一,它本质上不太宽松,因此不会引起任何问题. 解决方案 如果使用UNIQUE子句将您的列定义为唯一,则使用: ALTER TABLE mytable DROP INDEX constraint_name ,或者,如果您的约束是隐式命名的, ..
发布时间:2020-05-15 00:14:58 数据库

检查列是否存在于ALTER TABLE之前-mysql

是否可以在ALTER TABLE ADD coumn_name语句运行之前(或之后)检查mySQL DB中是否存在列? IF column DOES NOT EXIST ALTER TABLE之类的东西. 我已经尝试过ALTER IGNORE TABLE my_table ADD my_column,但是如果我要添加的列已经存在,这仍然会引发错误. 编辑:用例是升级已经安装的Web应用 ..
发布时间:2020-05-14 22:07:54 数据库

MySQL非常慢的更改表查询

为什么简单地更新此表以添加列会花费一个多小时?该表有1500万行.它具有2个索引和一个键主键. ALTER TABLE查询现在已处于“复制到tmp表"状态1小时15分钟. ALTER TABLE `frugg`.`item_catalog_map` ADD COLUMN `conversion_url` TEXT NULL DEFAULT NULL 表格: mysql> desc ..
发布时间:2020-05-14 21:27:08 数据库

MySQL:如果尚不存在该如何添加列?

我想向表中添加一列,但是如果它已经被添加到表中,我不希望它失败.我该如何实现? # Add column fails if it already exists ALTER TABLE `TableName` ADD `ColumnName` int(1) NOT NULL default '0'; 解决方案 在存储过程中使用以下内容: IF NOT EXISTS( SELECT ..
发布时间:2020-05-14 21:12:01 数据库

ALTER表-在MySQL中添加AUTOINCREMENT

我在MySQL中用itemID列创建了一个表.创建表后,现在我想将此列更改为AUTOINCREMENT.如何使用ALTER语句完成此操作? 表定义: ALLITEMS (itemid int(10) unsigned, itemname varchar(50)) 我正在使用以下代码,但它抛出错误:语法错误. ALTER TABLE allitems MODIFY itemi ..
发布时间:2020-05-14 20:39:42 数据库

如何更改MySQL列定义?

我有一个名为test的mySQL表: create table test( locationExpect varchar(120) NOT NULL; ); 我想将locationExpect列更改为: create table test( locationExpect varchar(120); ); 如何快速完成? 解决方案 您的意思是在创建表后对其 ..
发布时间:2020-05-14 20:38:02 数据库

MySQL中的默认排序(ALTER TABLE ... ORDER BY ...;)

假定通过执行以下操作来更改MySQL表(ISAM)的默认顺序: ALTER TABLE tablename ORDER BY columnname ASC; 从现在开始,我保证以假设我的查询中未指定"ORDER BY"的方式按“列名ASC"的顺序获取从表中检索到的记录.在哪里...限制10;“)? 我应该注意什么极端情况吗? 更新#1:非常感谢Quassnoi正确地指出INS ..
发布时间:2020-05-14 20:31:23 数据库

针对InnoDB的ALTER TABLE优化MySQL

有时不久,我们将需要对生产数据库进行模式更改.为此,我们需要最大程度地减少停机时间,但是,ALTER TABLE语句将运行相当长的一段时间.我们最大的表有1.5亿条记录,最大的表文件是50G. 所有表都是InnoDB,它被设置为一个大数据文件(而不是每个表一个文件). 我们正在8核计算机,16G内存和RAID10配置上运行MySQL 5.0.46. 我在MySQL调优方面有一定经验,但这通常 ..
发布时间:2020-05-14 20:27:16 数据库