MySQL - nazwy kolumn i tabel w cudzysłowiu dają błąd dla wiersza poleceń

0

Chciałem zapytać o rzecz nurtującą mnie od pewnego czasu. Zazwyczaj przykłady kody MySQL zawierają nazwy kolumn i tabel w cudzysłowie: 'nazwa'.
Przykład:

 
CREATE TABLE `stock` (
  `STOCK_ID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `STOCK_CODE` VARCHAR(10) NOT NULL,
  `STOCK_NAME` VARCHAR(20) NOT NULL,
  PRIMARY KEY (`STOCK_ID`) USING BTREE,
  UNIQUE KEY `UNI_STOCK_NAME` (`STOCK_NAME`),
  UNIQUE KEY `UNI_STOCK_ID` (`STOCK_CODE`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8;

U mnie (MySQL 5.2) wpisanie tego w wierszu poleceń wyrzuci błąd. Muszę usunąć te cudzysłowy. Ale gdy używam do edycji Workbencha to widzę że on przed wprowadzeniem dokonanej przeze mnie zmiany wyświetla kod "do zastosowania" i tam używa cudzysłowiów. O co więc chodzi?

0

Bp to nie są cudzysłowy - ', tylko te znaczki obok 1 - `.

0

W MySQL używa się znaku grawis ` aby wescapować słowa kluczowe i spacje w nazwach tabel lub kolumn. Znak grawis w MySQL pełni podobną rolę co nawiasy kwadratowe w MSSQL. Niektóre narzędzia dodają grawis do wszystkich nazw tabel i kolumn aby na wszelki wypadek zabezpieczyć użytkownika przed błędami spowodowanym przez interpretowanie ich jako polecenia.

*wyescapować - czyli zapobiec interpretowaniu przez interpreter

0

Dzięki, nie zauważyłem różnicy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1