Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mysql 执行报错 #6

Closed
hsapphire opened this issue Jun 12, 2020 · 6 comments
Closed

mysql 执行报错 #6

hsapphire opened this issue Jun 12, 2020 · 6 comments

Comments

@hsapphire
Copy link

查询:CREATE UNIQUE INDEX ix_user_email ON user (email)

错误代码: 1071
Specified key was too long; max key length is 767 bytes

@hsapphire
Copy link
Author

mysql 添加模板保存时报错.
Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/tornado/web.py", line 1510, in _execute result = method(*self.path_args, **self.path_kwargs) File "/usr/local/lib/python2.7/site-packages/tornado/web.py", line 2898, in wrapper return method(self, *args, **kwargs) File "/usr/src/app/web/handlers/har.py", line 125, in post id = self.db.tpl.add(userid, har, tpl, variables) File "/usr/src/app/db/tpl.py", line 50, in add return self._insert(**insert) File "/usr/src/app/db/basedb.py", line 99, in _insert dbcur = self._execute(sql_query, values.values()) File "/usr/src/app/db/basedb.py", line 40, in _execute dbcur.execute(sql_query, values) File "/usr/local/lib/python2.7/site-packages/mysql/connector/cursor.py", line 551, in execute self._handle_result(self._connection.cmd_query(stmt)) File "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 490, in cmd_query result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) File "/usr/local/lib/python2.7/site-packages/mysql/connector/connection.py", line 395, in _handle_result raise errors.get_exception(packet) IntegrityError: 1062 (23000): Duplicate entry '0' for key 'PRIMARY'

@AragonSnow
Copy link
Collaborator

@hsapphire 是什么情况下这样操作报错?

@hsapphire
Copy link
Author

在msql中创建数据库,然后执行qiandao.sql 脚本, 打开界面,注册用户,添加模板就出错了。

@AragonSnow
Copy link
Collaborator

@hsapphire 那个sql脚本我没试过,最新的代码已经可以自己创建mySQL数据库了,不需要再去手动导入。docker还为更新,如果有需要可以自己替换docker内的代码。

@AragonSnow
Copy link
Collaborator

以下是我试过有效能用的新建数据库命令

CREATE TABLE IF NOT EXISTS `push_request` (
                `id` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
                `from_tplid` INT UNSIGNED NOT NULL,
                `from_userid` INT UNSIGNED NOT NULL,
                `to_tplid` INT UNSIGNED NULL,
                `to_userid` INT UNSIGNED NULL,
                `status` TINYINT NOT NULL DEFAULT 0,
                `msg` VARCHAR(1024) NULL,
                `ctime` INT UNSIGNED NOT NULL,
                `mtime` INT UNSIGNED NOT NULL,
                `atime` INT UNSIGNED NOT NULL
                );
CREATE TABLE IF NOT EXISTS `site` (
                `id` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
                `regEn` INT UNSIGNED NOT NULL DEFAULT 1);
CREATE TABLE IF NOT EXISTS `tasklog` (
                `id` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
                `taskid` INT UNSIGNED NOT NULL,
                `success` TINYINT(1) NOT NULL,
                `ctime` INT UNSIGNED NOT NULL,
                `msg` TEXT NULL
                );
CREATE TABLE IF NOT EXISTS `task` (
                `id` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
                `tplid` INT UNSIGNED NOT NULL,
                `userid` INT UNSIGNED NOT NULL,
                `disabled` TINYINT(1) NOT NULL DEFAULT 0,
                `init_env` BLOB NULL,
                `env` BLOB NULL,
                `session` BLOB NULL,
                `last_success` INT UNSIGNED NULL,
                `last_failed` INT UNSIGNED NULL,
                `success_count` INT UNSIGNED NOT NULL DEFAULT 0,
                `failed_count` INT UNSIGNED NOT NULL DEFAULT 0,
                `last_failed_count` INT UNSIGNED NOT NULL DEFAULT 0,
                `next` INT UNSIGNED NULL DEFAULT NULL,
                `note` VARCHAR(256) NULL,
                `ctime` INT UNSIGNED NOT NULL,
                `mtime` INT UNSIGNED NOT NULL,
                `ontimeflg` INT UNSIGNED NOT NULL DEFAULT 0,
                `ontime` VARCHAR(256) NOT NULL DEFAULT '00:10:00',
                `groups` VARCHAR(256) NOT NULL DEFAULT 'None',
                `pushsw`  VARBINARY(128) NOT NULL DEFAULT '{"logen":false,"pushen":true}',
                `newontime`  VARBINARY(256) NOT NULL DEFAULT '{"sw":false,"time":"00:10:10","randsw":false,"tz1":0,"tz2":0}'
                );
CREATE TABLE IF NOT EXISTS `tpl` (
                `id` INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
                `userid` INT UNSIGNED NULL,
                `siteurl` VARCHAR(256) NULL,
                `sitename` VARCHAR(128) NULL,
                `banner` VARCHAR(1024) NULL,
                `disabled` TINYINT(1) NOT NULL DEFAULT 0,
                `public` TINYINT(1) NOT NULL DEFAULT 0,
                `lock` TINYINT(1) NOT NULL DEFAULT 0,
                `fork` INT UNSIGNED NULL,
                `har` MEDIUMBLOB NULL,
                `tpl` MEDIUMBLOB NULL,
                `variables` TEXT NULL,
                `interval` INT UNSIGNED NULL,
                `note` VARCHAR(1024) NULL,
                `success_count` INT UNSIGNED NOT NULL DEFAULT 0,
                `failed_count` INT UNSIGNED NOT NULL DEFAULT 0,
                `last_success` INT UNSIGNED NULL,
                `ctime` INT UNSIGNED NOT NULL,
                `mtime` INT UNSIGNED NOT NULL,
                `atime` INT UNSIGNED NOT NULL,
                `tplurl` VARCHAR(1024) NULL DEFAULT '',
                `updateable` INT UNSIGNED NOT NULL DEFAULT 0
                );
CREATE TABLE IF NOT EXISTS `user` (
                `id` INTEGER NOT NULL PRIMARY KEY  AUTO_INCREMENT,
                `email` VARCHAR(256) NOT NULL,
                `email_verified` TINYINT(1) NOT NULL DEFAULT 0,
                `password` VARBINARY(128) NOT NULL,
                `userkey` VARBINARY(128) NOT NULL,
                `nickname` VARCHAR(64) NULL,
                `role` VARCHAR(128) NULL,
                `ctime` INT UNSIGNED NOT NULL,
                `mtime` INT UNSIGNED NOT NULL,
                `atime` INT UNSIGNED NOT NULL,
                `cip` INT UNSIGNED NOT NULL,
                `mip` INT UNSIGNED NOT NULL,
                `aip` INT UNSIGNED NOT NULL,
                `skey` VARBINARY(128) NOT NULL DEFAULT '',
                `barkurl` VARBINARY(128) NOT NULL DEFAULT '',
                `wxpusher` VARBINARY(128) NOT NULL DEFAULT '',
                `noticeflg` INT UNSIGNED NOT NULL DEFAULT 1,
                `logtime`  VARBINARY(1024) NOT NULL DEFAULT '{"en":false,"time":"20:00:00","ts":0,"schanEn":false,"WXPEn":false}',
                `status`  VARBINARY(1024) NOT NULL DEFAULT 'Enable'
                );
INSERT INTO site VALUES(1,1);

@hsapphire
Copy link
Author

对的,直接用程序创建是可以的。 可以把那个Sql更换下了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants