Giriş
Eğer sütun isminde white space veya değişik bir karakter varsa bu sütun ismi backtick veya double quote ile escape edilir. Ancak bu yapılmamalı. Açıklaması şöyleyou should not create table or column names which contain spaces or special characters or are reserved words
Örnek
Bu da çalışır
CREATE TABLE foo ( `time-taken` int(10) unsigned NOT NULL );
Eğer --sql-mode="ANSI_QUOTES" şeklinde çalıştırdıysam
docker run \ -d \ -it \ -e MYSQL_ROOT_PASSWORD=root \ -e MYSQL_DATABASE=db \ --name mysql \ --rm \ -p 3306:3306 \ -v ${PWD}/schema.sql:/docker-entrypoint-initdb.d/schema.sql \ mysql:8.0 --sql-mode="ANSI_QUOTES"
Bu çalışır
CREATE TABLE foo ( "time-taken" int(10) unsigned NOT NULL );
Bu çalışmaz. Çünkü tire aslında minus operator gibi algılanıyor
CREATE TABLE foo ( time-taken int(10) unsigned NOT NULL );
Örnek
Şöyle yaparız
SELECT * from `time-taken` WHERE `int` = 0
Hiç yorum yok:
Yorum Gönder