sql >> Database >  >> RDS >> Mysql

MySQL-schemanaam met streepje staat me niet toe om opdrachtregelquery uit te voeren

De beste optie zou natuurlijk zijn om uw database eenvoudig te hernoemen.

Wanneer speciale tekens in schema-/tabel-/kolomnamen voorkomen, kunt u dit meestal oplossen met backticks. Aangezien je een shellscript probeert uit te voeren, zal het helaas alles binnen backticks als een commando interpreteren.

In MySQL kunt u de sql_mode "ANSI_QUOTES" instellen. Doe dit als administrator/root (in MySQL) met

mysql> SET GLOBAL sql_mode="ANSI_QUOTES";

Controleer eerst of je al modi hebt ingesteld met

mysql> SHOW VARIABLES LIKE 'sql_mode';

Als er al modi zijn ingesteld, neem die dan op in de SET GLOBAL sql_mode statement (gescheiden door , ).

U kunt deze optie ook instellen in uw my.cnf bestand, zodat deze modus elke keer wordt toegepast wanneer u uw MySQL-server start.

Het effect is dat " is ook toegestaan ​​als identifier-aanhalingsteken. Maar pas op dat je geen " . gebruikt in zoekopdrachten om tekst te specificeren, gebruik in plaats daarvan enkele aanhalingstekens.




  1. MySQL-indexering en filesort gebruiken

  2. Welke versie van MySQL is compatibel met Airflow versie 1.10?

  3. Voeg ontbrekende gegevens van vorige maand of jaar cumulatief toe

  4. php mysql fulltext zoeken:lucene, sphinx of?