问题描述
一些基础... 我使用最新版本的 WAMP 安装了 MysqL,它运行良好。 MysqL v5.7.31 我使用的是最新版本的 VSCode,v1.56.2 我为 VSCode 安装了 sqltools 扩展,v0.23.0 由 Matheus Teixeira 我安装了 sqltools MysqL/MariaDB Driver for sqltools,v0.2.0
我开始观看帮助我安装 sqltools 的教程 https://youtu.be/Cz3WcZLRaWc。起初它有效,但随着我的进步,我得到了上述错误。
“无法解构 'undefined' 的属性 'name',因为它是未定义的”
有时查询仍然有效,就像 INSERT INTO 一样,但不是 SELECT FROM。
在 2020 年 10 月 28 日在 GIT 上报告了此问题,但尚未在那里解决。
我在这里看到很多关于 Javascript 错误的文章。我不知道 sqltools 是否使用 Javascript。
下面是一些代码。
-- @BLOCK
SELECT * FROM Users;
-- CREATE TABLE Users(
-- id INT PRIMARY KEY AUTO_INCREMENT,-- email VARCHAR(255) NOT NULL UNIQUE,-- bio TEXT,-- country VARCHAR(2CREATE TABLE Users(
-- id INT PRIMARY KEY AUTO_INCREMENT,-- email VARCHAR(255) NOT NULL UNIQUE,-- bio TEXT,-- country VARCHAR(2)
-- );)
-- );
解决方法
在我的情况下,我发现这与评论有关。不知道是不是每个人都这样。我只是假设如果代码被注释掉,它就会被忽略,但 SQLTools 似乎并不这么认为。
我发现,在我的情况下,如果新代码在注释掉的代码之后,它只会注释掉它。当我将新代码放在注释掉的代码之前时,它因指示的错误而失败。
我所做的是注释掉之前的测试,以保存它们,以便我以后可以回去查看它们。然后我会将新代码放在注释文本的上方,假设它会忽略被注释掉的所有内容。
显然不是。当我将新代码移到注释掉的代码下方时,它可以正常工作而没有出现某些错误。请参阅我上面的代码。
有趣的是,因为我非常熟悉使用 PHP 和 MySQL 并使用 PHPMyAdmin 来检查事情,我发现即使有一些错误,比如 INSERT INTO,它仍然执行 INSERT,即使有错误。 (我检查了 PHPMyAdmin)。
所以这可能对你们中的一些人有所帮助,虽然它仍然是一个错误,但所有的评论都应该被忽略。你们中的大多数人只是发布了失败的代码,而不是完整的代码,我不知道你们在代码之前是否有评论。
如果我将 SELECT * 放在 -- @block 的正下方,它就会失败。
我希望这对你们中的一些人有所帮助。
-- @BLOCK
-- CREATE TABLE Users(
-- id INT PRIMARY KEY AUTO_INCREMENT,-- email VARCHAR(255) NOT NULL UNIQUE,-- bio TEXT,-- country VARCHAR(2CREATE TABLE Users(
-- id INT PRIMARY KEY AUTO_INCREMENT,-- email VARCHAR(255) NOT NULL UNIQUE,-- bio TEXT,-- country VARCHAR(2)
-- );)
-- );
SELECT * FROM Users;