MySQL und ` für Tabellennamen und Spaltennamen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL und ` für Tabellennamen und Spaltennamen

    Hallo.

    Ich habe mal eine Frage an euch bezüglich der Backticks(`) bei einer Mysql Abfrage:

    Benutzt ihr Backticks bei jeder Abfrage, also bei jeden Tabellennamen und bei jedem Spaltennamen, oder macht ihr es grundsätzlich ohne?
    Wenn ja warum ?

    Früher hat mich das Thema nie so wirklich interessiert, weil ich nie Probleme hatte mit reservierten Wörtern oder Sonderzeichen. Doch irgendwann ist immer das erste mal. Aber ist das sinnvoll diese Backticks bei jeder Abfrage zu setzten, oder sollte man besser vernünftige Tabellen-/Spaltennamen benutzten, um dieses zu vermeiden?
    Bin mal gespannt auf eure Antworten
    Gruß,
    Click
    Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

    Denk' mal drüber nach!

  • #2
    Re: MySQL und ` für Tabellennamen und Spaltennamen

    Also ich mache beides.
    1) Keine reservierten Wörter benutzen
    2) Backticks um Feld- und Tabellennamen

    GANZ EHRLICH ?

    Ich weiss nicht mal warum
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Re: Re: MySQL und ` für Tabellennamen und Spaltennamen

      Deutsche Spaltennamen verwenden und man hat das Problem gar nicht erst ^^,

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar


      • #4
        Also, ich achte darauf, unkritische Spaltennamen zu nehmen, da mir das mit den Backticks zu umständlich ist.

        Sollte mysql dann tatsächlich mal sowas wie user_pw oder empl_name o.ä. aufnehmen, hätte ich sicher ein Problem, aber das dauert hoffentlich noch.
        ich glaube

        Kommentar


        • #5
          Mhm... meckert MySQL eigentlich auch, wenn der Spaltenname/Tabellenname eines dieser Keywords nur enthält?

          Deutsch Spaltennamen wären nix für mich, weil ich eigentlich alles beim programmieren (Variablennamen, Kommentare) in englisch habe. Aber an dieser Stelle hätten sie endlich mal einen Sinn *g*
          Du kannst jeden Tag wie deinen letzten leben, du musst nur jeden Tag das Gleiche tun.

          Denk' mal drüber nach!

          Kommentar


          • #6
            nein, du müsstest schon das exakte Worte benutzen. Hatte ein paarmal schon das Problem und habe dann einfach dort die backticks gesetzt. Sonst benutz ich die aufgrund ihrer dämlichen Eingabe nicht.
            Sauberer wärs allerdings ^^

            Kommentar


            • #7
              ich kommentiere zwar auf deutsch, aber spalten- und variablennamen sind bei mir in englisch. hatte bis jetzt keine probleme mit, auch ohne die `

              Kommentar


              • #8
                Ich benutze sie nicht (die Backticks).
                Warum?
                1. Umständliche Eingabe (ich habe die Taste von meiner Tastatur entfernt weil ich da immer aus versehen draufgekommt bin obwohl ich eigentlich BACKSPACE drücken wollte)

                2. Ich finde das die Dinger den Code nur unübersichtlich machen

                Und ich hatte auch noch NIE Probleme damit.

                Kommentar


                • #9
                  Re: Re: Re: MySQL und ` für Tabellennamen und Spaltennamen

                  Original geschrieben von ghostgambler
                  Deutsche Spaltennamen verwenden und man hat das Problem gar nicht erst ^^,
                  Aber wehe dich interessier das "Alter" eines Benutzers.

                  Kommentar


                  • #10
                    rofl...

                    Also ich verwnede grundsätzlich auch nur englische namen. Gebe aber meist jedem Attribut jeder Relation einen Präfix, sowie in der Userrelation "u_". Damit bewirke ich zum einen, dass ich auf die Backticks verzeichten kann, zum anderen ist es aber auch beim Benutzen von JOINs sehr praktisch.
                    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                    Kommentar


                    • #11
                      Original geschrieben von ArSeN
                      Also ich verwnede grundsätzlich auch nur englische namen. Gebe aber meist jedem Attribut jeder Relation einen Präfix, sowie in der Userrelation "u_". Damit bewirke ich zum einen, dass ich auf die Backticks verzeichten kann, zum anderen ist es aber auch beim Benutzen von JOINs sehr praktisch.
                      Das hasse ich wie die Pest oO

                      Machen viele, das behindert mich persönlich beim Lesen eines jeden Queries ... wie soll man denn vernünftig optimieren können ohne alles erst durch EXPLAIN jagen zu müssen, wenn man 3 Screens weit scrollen muss um den Query vollständig lesen zu können? Bis dahin hat man den Anfang ja schon wieder vergessen...

                      Und was JOINs wirklich vereinfacht sind exakt gleiche Spaltennamen - dann kann man nämlich statt der langen ON-Syntax die USING-Syntax nutzen, die in vielen Fällen wesentlich kürzer ist!

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #12
                        und wenn ich in 2 Tabellen die ich joine, das attribut "zeit" habe, dann bin ich ziemlich angearscht mit tabelle1.zeit und tabelle2.zeit. Da mach ich lieber u_zeit und m_zeit oderso..
                        Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                        Kommentar


                        • #13
                          Original geschrieben von ArSeN
                          und wenn ich in 2 Tabellen die ich joine, das attribut "zeit" habe, dann bin ich ziemlich angearscht mit tabelle1.zeit und tabelle2.zeit. Da mach ich lieber u_zeit und m_zeit oderso..
                          nö gar nicht.
                          dafür gibt es Aliase.

                          Z.B.

                          SELECT
                          u.user_id,
                          u.zeit last_action,
                          m.subject,
                          m.zeit message_date
                          FROM messages m LEFT JOIN users u USING(user_id)

                          Kommentar


                          • #14
                            Hm... nagut... Tuché.
                            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                            Kommentar


                            • #15
                              ich verwende keine Backticks, wenn's nicht sein muss
                              [COLOR=royalblue]Ein großes DANKE an alle, die sich auf selbstlose Weise im Forum einbringen.[/COLOR]

                              [COLOR=silver]btw: REAL PROGRAMMERs aren't afraid to use GOTOs![/COLOR]

                              [color=indigo]Etwas ernster, aber auch nicht weiter tragisch, sieht die Situation bei Software-Patenten aus. Software-Patente sind eine amerikanische Erfindung und stehen auf dem selben Blatt wie genveränderte Babynahrung, die im Supermarkt nicht mehr als solche gekennzeichnet werden soll, um die Hersteller nicht gegenüber denen natürlicher Produkte zu diskriminieren ...[/color]
                              (from here)

                              Kommentar

                              Lädt...
                              X