问题标签 [mysql-5.0]

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 投票
1 回答
994 浏览

mysql - 按复合主键的键之一排序

我有一个表,其中的列名为,

其中复合键是month,yearid。现在我想id按升序排序。

但是 usingorder by id不会产生按id.

我在这里想念什么?很高兴有任何帮助引导我找到答案。

编辑:我正在使用 MySQL 5.0

0 投票
2 回答
113 浏览

mysql - MySQL数据库中的历史字段

尝试在表中创建一个字段,该字段将获取另一个字段的旧值。我的表与此非常相似:

我想要得到的是要在当前记录的字段中price复制的price_old字段值。ON UPDATE

是否可以仅使用 mysql 来实现?

PS:该单元格中包含的数据并不重要。用途是存储项目的先前价格和之后的价格,以便能够显示它是如何变化的。我只需要最后一个值,而不需要表条目的完整历史记录。(如果这很重要,我的 MySQL 服务器是 5.0)

0 投票
2 回答
26554 浏览

mysql - 在 MySQL 中使用“TYPE = InnoDB”会引发异常

当我尝试在 中执行以下操作SQLMySQL,出现错误:

SQL:

错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在“TYPE = InnoDB”附近使用正确的语法

但如果我删除"TYPE = InnoDB",那么查询工作正常。

以前查询工作正常,即在MySQL 5.0. 但是当我升级到 时MySQL 5.6,我收到了上述错误。

任何建议/替代方案... ??

0 投票
2 回答
229 浏览

mysql - 从表中为一列选择所有内容

在我的 mysql 数据库中,我有以下表格:

我想选择去所有​​房间的学院的名字。我尝试使用以下内容:

并得到以下错误:

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'EXCEPT 附近使用的正确语法

还尝试过:

并得到“空集”,即使在我的数据库中有一个教师去所有房间。

0 投票
0 回答
399 浏览

mysql - MySql 5.0 中是否有 EXTRACTVALUE 函数的替代方法

我在服务器中使用MySql 5.0在开发环境中使用MySql 5.1实现的某些功能在生产服务器中不起作用。一种这样的函数是EXTRACTVALUE用于提取 XML 数据中的值的函数。

希望有人以前可能已经在 MySql 5.0 中提取 XML 值。非常感谢分享实现的 MySql 功能EXTRACTVALUE或如何做到这一点的想法。

0 投票
1 回答
94 浏览

innodb - MySQL 5.0,InnoDB 表,流量大时插入速度慢。

我有 INNODB 表,一旦用户登录,就会存储用户导航详细信息。为此,我有简单的 INSERT 语句。但有时,当流量很大时,此 INSERT 将需要 15-24 秒,否则对于单个用户来说,它会在微秒内出现。服务器有 2GB 内存。
以下是 MySQL 配置详细信息:

谢谢。

0 投票
1 回答
131 浏览

mysql - MySQL Illegal Mix of Collat​​ion Error 在不同 PC 之间的故障排除

我正在为调用数据库以报告数据的 C# 应用程序运行代码。有趣的是,该报告在我自己的 PC 上运行良好,但在客户端使用时,我得到:

concat 中的排序规则 (latin1_swedish_ci,IMPLICIT) 和 (utf8_general_ci,COERCIBLE) 的非法混合

到目前为止,我已经检查了表 ( ENGINE=InnoDB DEFAULT CHARSET=latin1;),这在我们的两个数据库之间是相同的。此外,我可以备份客户端数据库,在我自己的 PC 上恢复它并运行代码,它工作正常。

我怀疑这将是与 MySQL 相关的错误,因为它们运行 MySQL Server 5.0,而我自己的计算机上有 MySQL Server 5.1。这两个版本之间是否有任何明显的差异或其他明显的地方会导致另一台 PC 上的错误,而不是我自己的?

这是有问题的代码,我能够修复:

原来的:

修复分摊:

这会是由 MySQL 在他们的 PC 上使用的默认字符集引起的吗?my.ini 文件确实有一个额外的区别,这是我指定的:

而只有包含:

latin1_swedish_ci编辑以包括在两个数据库中也使用排序规则指定表列。

使用第一条评论中的链接,我使用了“显示表状态”和“显示变量,如“collat​​ion_database”。

显示表状态确认每个表的排序规则在我的和其他系统上都是 latin1_swedish_ci。

显示 collat​​ion_database 等变量确认我的系统和其他系统都将 latin1_swedish_ci 作为值

0 投票
0 回答
30 浏览

mysql - mysql 5.0.22 是否支持用户定义函数?

MySQL 5.0.22 是否支持用户定义的函数\过程?

如果是,这是首选的最简单的免费编辑器。HeidiSQL 不支持函数\过程和 MySQL 工作台不完全支持 mySQL5.0.22。

谢谢,比平

0 投票
2 回答
4312 浏览

mysql - MySQL 5.0 不能删除和创建触发器

我正在使用 MySQL 5.0。我尝试删除并重新创建触发器。当我放下触发器时,它说:

然后我尝试创建具有相同名称的触发器。它说:

这是我的触发器:

0 投票
1 回答
288 浏览

mysql - 如何删除复合 MySQL 约束和/或约束中使用的一列?(允许描述的限制。)

在 MySQL 5.0.45 数据库中,我想删除 2 列 UNIQUE 约束,因为它包含我要删除的列。包含在两列 UNIQUE 约束中的一列在同一个表中也是 FK 约束的 - 但是我认为这与接下来的内容无关。

以下示例表和数据是虚构的,但它们模仿了我的真实表的形式(约束、关系),当我尝试修改它们时会导致相同的问题。

在示例中,我想UNIQUE(library_id, external_id)从书中删除约束。(因为我想删除该external_id列。)

尝试 1:直接删除不需要的列不起作用:

我相信这会失败,因为删除该列也会从 UNIQUE 约束(即索引)中删除该列,这会使该索引仅索引一列 - 现在这包括重复值(2 x“PL-42”)。

尝试 2:仅删除索引。

以下 SO 帖子建议如何直接删除索引:Dropping Unique constraint from MySQL table。但是,使用SHOW INDEX FROM book列出两个具有相同值“library_id”的“Key_name”条目:

[为清楚起见,省略了一些列。]

按照帖子的建议进行操作,然后失败并出现一个有点神秘的错误,但可能是由于模棱两可(它适用于非模棱两可的情况):

(当 SHOW INDEX 报告下的重复值时,如何删除 INDEX Key_name?)

我有一个备用选项,即在没有列和唯一约束的情况下重新创建整个表external_id,插入原始表中的所有内容,删除旧表并重命名。

但我想知道是否有更清洁的解决方案。我想知道在 MySQL(任何版本)中是否有更好的方法来做到这一点。但不幸的是,我目前被 5.0 困住了,所以我真的需要一个可以解决这个问题的解决方案。