引起:java.sql.SQLException:默认值无效 'updated_at'查询:
CREATE TABLE IF NOT EXISTS saved_query (id int(11)
NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,description
varchar(255) DEFAULT NULL,query longtext,params_json
longtext,created_at timestamp DEFAULT CURRENT_TIMESTAMP,updated_at
=timestamp NOT NULL, PRIMARY KEY (id)) Parameters: []
将查询粘贴为可读性:
CREATE TABLE IF NOT EXISTS saved_query
(
id INT(11) NOT NULL auto_increment,
name VARCHAR(255) NOT NULL,
description VARCHAR(255) DEFAULT NULL,
query LONGTEXT,
params_json LONGTEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL,
PRIMARY KEY (id)
)
Mysql版本为5.7.13
。上述查询适用于版本5.6
和5.5
。以下查询适用于5.7
,但不适用于<5.7
版本:
CREATE TABLE IF NOT EXISTS saved_query
(
id INT(11) NOT NULL auto_increment,
name VARCHAR(255) NOT NULL,
description VARCHAR(255) DEFAULT NULL,
query LONGTEXT,
params_json LONGTEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
)
5.6
中的错误是:
引起:java.sql.SQLException:表定义不正确;那里 在DEFAULT或DEFAULT中只能有一个TIMESTAMP列和CURRENT_TIMESTAMP ON UPDATE子句查询:
CREATE TABLE IF NOT EXISTS saved_query (id
int(11) NOT NULL AUTO_INCREMENT,name varchar(255) NOT NULL,description
varchar(255) DEFAULT NULL,query longtext,params_json
longtext,created_at timestamp DEFAULT CURRENT_TIMESTAMP,updated_at
timestamp DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id)) Parameters: []
在所有这些版本中适用的查询应该是什么?
答案 0 :(得分:3)
问题是因为sql_modes。您必须删除sql_mode才能使其正常工作。删除这些SQL模式
pywinauto.mouse.click(button='left', coords=(0, 0)) //Click at the specified coordinates
pywinauto.mouse.double_click(button='left', coords=(0, 0)) //Double click at the specified coordinates
pywinauto.mouse.move(coords=(0, 0)) //Move the mouse
pywinauto.mouse.press(button='left', coords=(0, 0)) //Press the mouse button
pywinauto.mouse.release(button='left', coords=(0, 0)) //Release the mouse button
pywinauto.mouse.right_click(coords=(0, 0)) //Right click at the specified coords
pywinauto.mouse.scroll(coords=(0, 0), wheel_dist=1) //Do mouse wheel
pywinauto.mouse.wheel_click(coords=(0, 0)) //Middle mouse button click at the specified coords
或
在运行任何查询之前将此查询放在第一行:
NO_ZERO_IN_DATE
NO_ZERO_DATE
或
在运行任何查询之前将此查询放在第一行:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
答案 1 :(得分:-1)
TIMESTAMP
不能为NULL
,而mysql为列添加DEFAULT CURRENT_TIMESTAMP
。但可能只有一个列宽DEFAULT CURRENT_TIMESTAMP
。只需使用'0000-00-00 00:00:00'
。
CREATE TABLE IF NOT EXISTS saved_query
(
id INT(11) NOT NULL auto_increment,
name VARCHAR(255) NOT NULL,
description VARCHAR(255) DEFAULT NULL,
query LONGTEXT,
params_json LONGTEXT,
created_at TIMESTAMP DEFAULT '0000-00-00 00:00:00',
updated_at TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (id)
)