问题标签 [mysql-error-1293]

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 投票
12 回答
170400 浏览

mysql - 在 MySQL 4.0 中同时具有 Created 和 Last Updated 时间戳列

我有以下表格架构;

它失败并出现以下错误:

我的问题是,我可以同时拥有这两个领域吗?还是我必须在每次交易期间手动设置 LastUpdated 字段?

0 投票
9 回答
180214 浏览

mysql - 为什么在 DEFAULT 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列?

为什么在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列?

导致的错误:

错误代码:1293

表定义不正确;在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列

0 投票
1 回答
237 浏览

mysql - MySQL双时间戳用于修改和更新不起作用

我正在尝试以下 SQL 语句:

它不起作用...我收到以下错误:

我需要跟踪两个日期戳,一个用于创建该行的日期,一个用于该行的最后修改日期。他们都做我想做的事,我单独使用它们,但 MySQL 不允许我将它们组合在一个表中。

请帮忙。:)

0 投票
8 回答
174640 浏览

mysql - MySQL CURRENT_TIMESTAMP 在创建和更新时

我想定义有 2 个 TIMESTAMP 字段的表,如下所示:

如何做到这一点避免错误:

重点是保持表模式的期望ts_create行为ts_update

0 投票
2 回答
9592 浏览

mysql - 为什么 MySQL 不允许我删除属性“更新 CURRENT_TIMESTAMP”?

我有一个包含两个时间戳字段的表。我只是用名称和类型定义了它们TIMESTAMP,但由于某种原因,MySQL 自动为它们之一设置了默认值和属性on update CURRENT_TIMESTAMP。我计划在这两个字段中都没有默认值,但是其中一个字段称为“date_updated”,所以我想我可以将提到的属性设置为该字段。

不幸的是,使用属性设置的是字段“date_created”,on update CURRENT_TIMESTAMP无论我做什么,MySQL 都不会让我删除它。

我尝试编辑“date_created”字段并删除该属性。单击保存时,该属性又回来了。我还尝试选择这两个字段,从其中一个字段中删除属性并将其设置在另一个字段上。它给了我错误#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause,突然将值上的两个属性列都设置为on update CURRENT_TIMESTAMP结果:

我真的必须以正确的顺序重新创建这两个列来解决这个问题吗?

我想知道如何正确解决这个问题,以供将来参考。

谢谢


现在我也尝试运行

0 投票
2 回答
285 浏览

mysql - INSERT 适用于 SQLite 但不适用于 MySQL

我在 SQLite 数据库中创建的这张表:

现在我在mysql中转换这个表

当我插入这些值时出现错误ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause.

我能够在 SQLite 中插入所有这些值,但我无法将所有这些值插入 MySQL。帮我?

0 投票
2 回答
10486 浏览

mysql - 行创建和最后修改的时间戳

我需要跟踪一行插入数据库的时间,以及上次修改的时间。

我尝试创建两个单独的列,并使用CURRENT_TIMESTAMP

但是,这产生了一个错误:

ERROR 1293 (HY000):表定义不正确;在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列

做这个的最好方式是什么?

我正在考虑存储过程,但正在寻找标准解决方案。我还关心访问权限——尽可能少的程序/事物应该能够触及时间戳。


虽然我更喜欢 MySQL 的答案,但也感谢其他 RDBMS 的解决方案!

0 投票
1 回答
3321 浏览

mysql - 如何让 SQL 正确更新我的记录修改时间戳?

我正在尝试设置一个 sql 表,该表记录帐户的创建时间和上次修改时间。我希望 sql 来处理这个,所以我不必在我的 php 文件中这样做。

我的 users 表中有两列(两者都是 type timestamp):

创建

修改的

我希望“创建”时间永远不会改变并始终包含它的创建日期,并且每次修改用户行时都会更改“修改”时间。我已经设置了表格,因此“创建”按我的预期工作,但是当我尝试更新修改时:

我收到以下错误:

1293 - 表定义不正确;在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列

有人可以帮助我正确完成此操作需要做些什么吗?

0 投票
1 回答
3668 浏览

mysql - 正确的解决方法 - DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列

我有这张桌子:

给我这个错误:

有关于这个问题的旧帖子,但由于当前的数据库结构,我想要一个适当的解决方法。

版本:libmysql - 5.5.41 运行于:5.5.41-ubuntu.14.04.1