问题标签 [mysql4]

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 投票
8 回答
132756 浏览

mysql - 使用 ALTER 删除 MySQL 中存在的列

如果该列存在,如何使用 ALTER 删除 MySQL 表中的列?

我知道我可以使用,但如果不存在ALTER TABLE my_table DROP COLUMN my_column则会引发错误。my_column是否有替代语法有条件地删除列?

我正在使用 MySQL 4.0.18 版。

0 投票
2 回答
1831 浏览

c++ - MySQL 和 C 应用程序

在使用 C/C++ 在 linux 上构建访问 MySQL 数据库的应用程序时,我必须动态链接到 mysql 客户端库。有没有一种方法可以静态链接应用程序,从而不再需要 mysql 客户端库?

关于 C\C++ 开发,在应用程序中但在代码之外包含相当长的查询的最佳实践是什么?由于数据库在 MySQL 4 服务器上运行,因此无法使用存储过程。

0 投票
2 回答
418 浏览

c - C MySQL 客户端库行为

我有一个客户端应用程序,它使用 SuSE SLES 9 上的库存库连接到 MySQL 数据库 4 服务器。但是,有时在处理来自服务器的特定重置集时,迭代抛出结果不允许我处理所有结果在数据库中。

这个问题有时会发生,主要是当服务器有几天的正常运行时间时。我怀疑重启可以解决问题。

无论如何,随着时间的推移不释放 MySQL 结果集会导致这种内存泄漏并以这种奇怪的行为显示自己必须始终释放所有结果集吗?但是,相同的表和相同的程序在另一台计算机上的行为应该如此。

由于应用程序或 mysql 客户端库中的实现问题,结果集是否会损坏?

0 投票
4 回答
2492 浏览

sql - 更新大表的主表和子表的主键

我有一个相当大的数据库,其中一个主表具有一个单列 GUID(自定义 GUID 类似算法)作为主键和 8 个与此 GUID 列具有外键关系的子表。所有表都有大约 3-8 百万条记录。这些表都没有任何 BLOB/CLOB/TEXT 或任何其他花哨的数据类型,只有普通数字、varchars、日期和时间戳(每个表中大约 15-45 列)。除了主键和外键之外,没有分区或其他索引。

现在,自定义 GUID 算法已更改,尽管没有冲突,但我想迁移所有旧数据以使用使用新算法生成的 GUID。无需更改其他列。第一要务是数据完整性,性能是次要的。

我能想到的一些可能的解决方案是(你可能会注意到它们都只围绕一个想法)

  1. 添加新列 ngu_id 并使用新的 gu_id 填充;禁用约束;用 ngu_id 作为 gu_id 更新子表;重命名 ngu_id->gu_id;重新启用约束
  2. 从子表中读取一个主记录及其从属子记录;用新的 gu_id 插入同一张表;删除所有旧 gu_id 的记录
  3. 丢弃约束;向主表添加触发器,以便更新所有子表;开始用新的新 gu_id 更新旧的 gu_id;重新启用约束
  4. 向主表添加触发器,以便更新所有子表;开始用新的新 gu_id 更新旧 gu_id
  5. 在所有主表和子表上创建新列 ngu_ids;在 ngu_id 列上创建外键约束;向主表添加更新触发器以将值级联到子表;将新的 gu_id 值插入 ngu_id 列;移除基于 gu_id 的旧外键约束;删除 gu_id 列并将 ngu_id 重命名为 gu_id;必要时重新创建约束;
  6. 如果可用,使用on update cascade

我的问题是:

  1. 有没有更好的办法?(不能把我的头埋在沙子里,必须这样做)
  2. 最合适的方法是什么?(我必须在 Oracle、SQL server 和 mysql4 中执行此操作,因此欢迎使用特定于供应商的 hack)
  3. 这种练习的典型失败点是什么以及如何将它们最小化?

如果你到目前为止和我在一起,谢谢你,希望你能帮助:)

0 投票
2 回答
380 浏览

sql - MySQL:将查询从 v4 迁移到 v5

将项目从 MySQL 4 迁移到 MySQL 5 时,为了确保查询保持兼容,我需要解决哪些主要问题?

一般来说,事情应该没问题,但我知道一些在 MySQL 4 查询中隐式工作的事情必须在 MySQL 5 中明确定义(但我一生都记不清究竟是什么)。

0 投票
2 回答
9299 浏览

mysql4 - 仅当它存在于 mysql server 5.0 中时才删除约束

我想知道如何仅在存在约束时才删除约束。mysql 服务器中是否有任何单行语句可以让我这样做。

我尝试了以下命令,但无法获得所需的输出

对此有任何帮助真的可以帮助我在mysql中前进

0 投票
2 回答
9569 浏览

mysql - 需要 MySQL 4 来忽略 ALTER TABLE 错误

我有一个在某些条件下自动执行的 MySQL 脚本。该脚本执行一个ALTER TABLE命令,因为数据库中需要该列,但它可能有也可能没有...

ALTER TABLE如果列不存在或忽略此单个命令的重复列错误并允许脚本执行继续,是否可以让 MySQL 4 执行语句?

0 投票
1 回答
967 浏览

c# - 从多个表中加入 mysql 4.0 数据的最快方法?

我有 3 个 mysql 4.0 表:都有字段ID (int)、类型( int ) 和另一个字段,varchar (255)、tinyintint

我需要将它们全部写出来,最终得到三个 DataTable,循环它们,并将行创建到一个临时表中(在 .NET 1.1 中)。

您是否看到比这更快/更清洁的方式来加入或只写出这些数据?

0 投票
3 回答
1690 浏览

mysql - MySQL:为每个日期选择不同的名称?

假设我想选择日期范围或 date_feild > 2009-06-01 && date_field < 2009-07-01 的行。我想选择 first_name_field 和 last_name_field 但我只希望每个日期显示一次相同的名称 (F+L)。所以同一个名字可以出现多次,只要他们的日期不同;但如果名称在同一日期,则不会。这有意义吗?我们正在尝试跟踪我们在一段时间内收到了多少查询,但如果同一用户在同一天进行了多次查询,我们希望将其计为 1。

我什至还没有开始编程,所以我愿意接受所有建议。

谢谢!

0 投票
2 回答
385 浏览

php - PHP:按用户和产品品牌跟踪请求?

我有一个 MySQL 表,其中包含价格请求,它有 date、first、last 和 product_id 字段。产品品牌可以从 product_id 的产品表中找到。

给定一个日期范围,他们想知道该日期范围内每一天的用户和品牌请求总数,以及该日期范围的总数。这是棘手的部分,如果同一个人在一天内多次提出请求,那么它只计为 1 人。但是,如果一个人在 1 天内请求 2 个不同的品牌,则每个品牌当天都会获得 1 个。但是,如果他们在一天内请求多个品牌,则该品牌当天仅计为 1。

例如,假设在给定日期,John Doe 提出了 3 个价格请求,分别是 Burberry 产品和 2 个施华洛世奇产品。人只算 1 个,巴宝莉 1 个,施华洛世奇 1 个。但是,如果另一个人提出了对 burberry 的请求,那么当天将有 2 个 burberry,当天有 2 个人。

我希望这是从那时起。无论如何,最好的方法是什么?我正在使用 PHP4 和 MySQL4

谢谢!