尝试更新表内容时的语法问题(MySQL Workbench)

时间:2015-03-18 11:04:45

标签: mysql syntax 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';

所有文件位置都相同,我只是不想透露他们的位置。

1 个答案:

答案 0 :(得分:0)

小心引用。在MysQL中有3种类型的引用:

  1. 返回刻度线引号(`)
  2. 单引号(')
  3. 双引号(“)
  4. 后退标记是默认的引用字符。它们用于分隔输入字符序列以包含标识符。当您使用允许的标准字符以外的输入时,通常需要它们,这些字符是ASCII集,Unicode BMP以值0x80(http://dev.mysql.com/doc/refman/5.6/en/identifiers.html)开头。

    单引号表示字符串

    双引号是双重的,具体取决于ANSI_QUOTES sql模式。如果未设置,则双引号也表示字符串。但是,如果设置,它们表示标识符,就像后面的标记一样。

    现在再次检查您的代码。您正在使用需要标识符的字符串,因此MySQL Workbench中存在语法错误。