尝试更新 table 内容时出现语法问题 (MySQL Workbench)
Problems with syntax when attempting to update table contents (MySQL Workbench)
ALTER TABLE '"(File Location)"' REDEFINE "RoHS Status" CHAR(20);
UPDATE "(File Location)" SET "RoHS Status" = ' - RoHS Compliant' WHERE "RoHS Status" = 'Y';
UPDATE "(File Location)" SET "RoHS Status" = ' - NonRoHS Compliant' WHERE "RoHS Status" = 'N';
UPDATE "(File Location)" SET "RoHS Status" = '' WHERE "RoHS Status" = 'U';
UPDATE "(File Location)" SET "RoHS Status" = ' - RoHS Exempt' WHERE "RoHS Status" = 'E';
所有文件位置都一样,我只是不想透露它们的位置。
引用时要小心。在 MysQL 中有 3 种类型的引用:
- 反引号 (`)
- 单引号 (')
- 双引号 (")
反引号是默认的引号字符。它们用于分隔输入字符序列以组成 标识符 。当您使用允许的标准字符之外的输入时,通常需要它们,这些字符是 ASCII 集和以值 0x80 (http://dev.mysql.com/doc/refman/5.6/en/identifiers.html).
开头的 Unicode BMP
单引号表示字符串。
双引号是双引号,取决于ANSI_QUOTESsql模式。如果未设置,则双引号也表示 strings。但是,如果设置,它们表示 标识符,就像反引号一样。
现在再次检查您的代码。您在需要标识符的地方使用字符串,因此 MySQL Workbench.
中的语法错误
ALTER TABLE '"(File Location)"' REDEFINE "RoHS Status" CHAR(20);
UPDATE "(File Location)" SET "RoHS Status" = ' - RoHS Compliant' WHERE "RoHS Status" = 'Y';
UPDATE "(File Location)" SET "RoHS Status" = ' - NonRoHS Compliant' WHERE "RoHS Status" = 'N';
UPDATE "(File Location)" SET "RoHS Status" = '' WHERE "RoHS Status" = 'U';
UPDATE "(File Location)" SET "RoHS Status" = ' - RoHS Exempt' WHERE "RoHS Status" = 'E';
所有文件位置都一样,我只是不想透露它们的位置。
引用时要小心。在 MysQL 中有 3 种类型的引用:
- 反引号 (`)
- 单引号 (')
- 双引号 (")
反引号是默认的引号字符。它们用于分隔输入字符序列以组成 标识符 。当您使用允许的标准字符之外的输入时,通常需要它们,这些字符是 ASCII 集和以值 0x80 (http://dev.mysql.com/doc/refman/5.6/en/identifiers.html).
开头的 Unicode BMP单引号表示字符串。
双引号是双引号,取决于ANSI_QUOTESsql模式。如果未设置,则双引号也表示 strings。但是,如果设置,它们表示 标识符,就像反引号一样。
现在再次检查您的代码。您在需要标识符的地方使用字符串,因此 MySQL Workbench.
中的语法错误