gpt4 book ai didi

mysql - 突然我收到错误 #1366,因为我的列没有默认值

转载 作者:行者123 更新时间:2023-11-29 23:55:24 25 4
gpt4 key购买 nike

假设我有一个名为ads 的表( user_id 、 title 、 text 、 admin_seen )

admin_seen 列是一个 int (1),没有任何默认值或 DEFAULT(none)

我曾经能够在不填写admin_seen的情况下向该表添加一行,并且由于它是一个int列,因此它会得到0自 Action 为值

insert into ads  (  user_id , title , text ) value ( a , b ,c )

今天突然我的框架中不断出现此错误

"Field 'admin_seen' doesn't have a default value"

当我尝试从 phpmyadmin 运行相同的查询时,我得到

#1366 - Incorrect integer value: '' for column 'admin_seen' at row 1 

我知道我可以通过向 admin_Seen 列添加默认值 (0) 来解决此问题,但为什么现在会发生这种情况以及如何将其更改回来?我的意思是我以前从来没有必要为 int 列设置默认值,它们会自动获得 0 作为值

加上它们大约有一百个这样的表,解决这个问题会容易得多,而不必更改每个表

最佳答案

这取决于 sql_mode 的值系统变量。

要确定当前全局或 session sql_mode 值,请使用以下语句:

SELECT @@GLOBAL.sql_mode;
SELECT @@SESSION.sql_mode;

如果您发现 STRICT_TRANS_TABLESSTRICT_ALL_TABLES 处于开启状态,则对于事务表,会因表中的无效值或缺失值而发生错误数据更改声明。

关于mysql - 突然我收到错误 #1366,因为我的列没有默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25401686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com