问题标签 [mysql-error-1025]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
209 浏览

mysql - 如何向 MySQL InnoDB 表的主键添加列?

我有桌子 foo 和 bar:

现在我有一个新列e需要参与bar的主键。我怎样才能做到这一点?看来我应该能够删除主键、添加列并创建一个新的主键,但尝试删除主键会给我:

只有包含外键列的主键才会出现这种情况。

0 投票
6 回答
44629 浏览

sql - 在 MySQL 中重命名外键列

我们正在尝试重命名 MySQL (5.1.31, InnoDB) 中的列,该列是另一个表的外键。

起初,我们尝试使用 Django-South,但遇到了一个已知问题:

http://south.aeracode.org/ticket/243

OperationalError:(1025,“将'./xxx/#sql-bf_4d'重命名为'./xxx/cave_event'时出错(错误号:150)”)

将“./xxx/#sql-bf_4b”重命名为“./xxx/cave_event”时出错(错误号:150)

此错误 150 肯定与外键约束有关。参见例如

mysql error 1025 (HY000): Error on rename of './foo' (errorno: 150) 是什么意思?

http://www.xaprb.com/blog/2006/08/22/mysqls-error-1025-explained/

所以,现在我们正在尝试在原始 SQL 中进行重命名。看起来我们必须先删除外键,然后进行重命名,然后再次添加外键。听起来对吗?有没有更好的方法,因为这看起来很混乱和麻烦?

任何帮助将非常感激!

0 投票
4 回答
11609 浏览

python - 如何在 SQLAlchemy 中删除外键约束?

我正在使用 SQLAlchemy Migrate 来跟踪数据库更改,并且遇到了删除外键的问题。我有两个表,t_new 是一个新表,t_exists 是一个现有表。我需要添加 t_new,然后将外键添加到 t_exists。然后我需要能够反转操作(这是我遇到麻烦的地方)。

这工作正常:

但这不会:

尝试删除外键列会出现错误:1025,“将 '.\my_db_name\#sql-1b0_2e6' 重命名为 '.\my_db_name\exists' 时出错(错误号:150)”

如果我使用原始 SQL 执行此操作,我可以手动删除外键然后删除列,但我无法弄清楚如何使用 SQLAlchemy 删除外键?如何删除外键,然后删除列?

0 投票
2 回答
884 浏览

php - 更改列排序规则

我已经建立了一个数据库。我正在尝试在我的用户名列上将排序规则更改为区分大小写,以便将登录参数限制为他们注册的内容。

但是我不断得到这个:#1025 - Error on rename of './yebutno_ybn/#sql-76dc_8581dc' to './yebutno_ybn/user' (errno: 150)

由于相关表存在外键约束....

有任何想法吗?这将为我节省 php 方面的很多麻烦!

谢谢,斯特凡

0 投票
3 回答
3454 浏览

mysql - ALTER TABLE 错误

有人可以向我解释为什么我会收到以下错误吗?

我想使用以下语法将 mysql 表中的列“exerciseID”重命名为“ID”。

但是我收到以下错误:

我们欢迎所有的建议

0 投票
1 回答
478 浏览

mysql - 试图从 Doctrine 模型生成表并得到 MySQL 错误

Doctrine_Core::createTablesFromModels() 失败并出现以下错误:

  1. Fatal error: Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'newmexicocreates.address_type' doesn't exist. Failing Query: "SELECT a.id AS a__id, a.title AS a__title FROM address_type a"' in /[removed]/lib/doctrine/Doctrine/Connection.php:1082
  2. Stack trace:
  3. #0 /[removed]/lib/doctrine/Doctrine/Connection.php(1025): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Mysql), 'SELECT a.id...')
  4. #1 /[removed]/lib/doctrine/Doctrine/Query/Abstract.php(976): Doctrine_Connection->execute('SELECT a.id...', Array)
  5. #2 /[removed]/lib/doctrine/Doctrine/Query/Abstract.php(1026): Doctrine_Query_Abstract->_execute(Array)
  6. #3 /[removed]/app/models/behaviors/IdAsConstant.php(16): Doctrine_Query_Abstract->execute()
  7. #4 /[removed]/ in /[removed]/lib/doctrine/Doctrine/Connection.php on line 1082

我认为这种情况正在发生,因为它看到了模型中定义的关系并试图创建约束。但他们正在处理的表尚未创建。我在这个假设中正确吗?

有什么我可以尝试解决的吗?

0 投票
2 回答
8226 浏览

mysql - 无法删除索引列,错误 1025 (HY000): 将 .. 重命名为 .. 时出错 (errno: 150)

我无法删除已编入索引的列。我真的不明白发生了什么,因为我删除索引通常没有问题。当我尝试删除列或索引时,出现以下错误

如果我在同一列上创建一个新索引,我可以删除旧索引但不能删除新索引(我猜它只是检查索引是否可用)。你有没有遇到过这个问题,如果有任何建议我可以如何解决这个问题?

引擎:innoDB mysql 版本:Ver 14.12 Distrib 5.0.45,用于 redhat-linux-gnu (x86_64) 使用 readline 5.0

感谢您的帮助,如果您需要更多信息,请告诉我。

0 投票
9 回答
561182 浏览

mysql - 在 MySQL 中重命名列时出错

如何重命名表中的列xyz?这些列是:

我想重命名为manufacturerid

我尝试使用 PHPMyAdmin 面板,但出现此错误:

0 投票
1 回答
3751 浏览

mysql - 为什么我收到此错误:“SQL 错误 1025:将 '...' 重命名为 '...' 时出错 (errno: 150)”?

我想从“alter table”重命名 MySQL 5.2.25 版中表的字段,但出现此错误:

但是在其他表上我没有这个问题,我不知道为什么,它是由外键引起的吗?

0 投票
7 回答
105640 浏览

mysql - #1025 - 将“./database/#sql-2e0f_1254ba7”重命名为“./database/table”时出错(错误号:150)

所以我试图向我的数据库中的一个表添加一个主键。现在它有一个像这样的主键:

其中 user_id 是外键。

我正在尝试将其更改为:

我通过单击表结构视图中的主键图标在 phpmyadmin 中执行此操作。

这是我得到的错误:

它是一个带有 InnoDB 表引擎的 MySQL 数据库。