问题标签 [mysql-error-1067]
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.
mysql - 在 mysql 5.7.12 中更改 sql_mode 变量的风险因素是什么?
我计划将我们的生产数据库从 mysql 5.5 升级到 mysql 5.7。
在 mysql 5.7 上使用默认 sql_mode 进行测试时,我们遇到了零值时间戳错误,尤其是在创建表时。
https://dev.mysql.com/doc/refman/5.7/en/faqs-sql-modes.html#faq-mysql-what-default-mode
所以我将默认的 sql_mode 更改为:“NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
现在创建表时的错误消失了。也没有其他查询抛出任何错误,目前所有查询都可以正常工作。
引发错误的 sql_query 是:
CREATE TABLE xxxxx ( -> yy_id
int(11) unsigned NOT NULL default '0' , -> url_position
int(11) unsigned NOT NULL default '0' , -> total_date
date NOT NULL default '0000-00-00', -> terminal_cd
tinyint(4) unsigned NOT NULL default '99' , -> click_num
int(11) unsigned NOT NULL default '0' , -> time_stamp
timestamp NOT NULL , -> PRIMARY KEY ( yy_id
, url_position
, total_date
, terminal_cd
) -> ) ENGINE=InnoDB -> ;
是否可以更改 mysql 默认 sql_mode 以使其与 mysql 5.5 兼容,风险因素是什么?
mysql - 行不想在 mysql 中添加更多表,因为时间戳
我想将 mysql 行中的表添加到 ps_product_shop(code down) 但仍然说错误:#1067 - Invalid default value for 'available_date' 。我检查了文档,但我不知道我必须做什么。谢谢回复。
mysql - MySql 服务不会从恢复的 ibdata1 文件启动
我们的一台服务器遭到来自一群国际黑客的勒索软件攻击。所以我们重新分组并重新开始,我们唯一不受影响的数据是存储在 mysql 程序数据文件夹中的 ibdata1 文件。
我们想在新实例上恢复该数据,以便我们继续我们的操作,但在尝试运行新安装的 mysql 后,服务停止并出现错误 1067。它建议删除 InnoDB 创建的所有文件:所有 ibdata 文件和所有 ib_logfile 文件。如果我这样做,服务将运行,但我不能这样做,因为我需要访问这个特定数据文件中的数据。我还在 .cnf 文件中添加了这两行
那没有奏效。所以我只删除了日志文件,它创建了新的日志文件,随之而来的是这个错误
日志文件中的某处似乎有一个检查点,这是 mysql 服务正确读取数据文件所必需的。也许我需要在 my.ini 配置文件中指定日志文件的大小。但我不知道该怎么做。
任何帮助都会在这里真正派上用场。