2012-10-08 27 views
12

Mi chiedevo se date è in realtà un nome di colonna mysql valido?è `date` un nome di colonna mysql valido?

Secondo il manual

MySQL permessi alcune parole chiave da utilizzare come identificatori non quotati perché molte persone in precedenza li ha usati. Esempi sono quelli del lista seguente:

  • AZIONE
  • BIT
  • DATA
  • ENUM
  • NO
  • TESTO
  • TEMPO
  • TIMESTAMP

Quindi, da questo ho capito sei ammessi di utilizzare date come un nome di colonna, ma non dice che si sconsigliato.

Quindi, ci sono implicazioni sull'uso di date come nome di colonna?

+0

sì, è valido, ma non particolarmente consigliato, perché può/causerà confusione –

+0

Ma se avessimo una tabella 'games_played' metterei le colonne come' id'. 'home_team',' away_team'' date'. In questo caso, il nome della colonna 'date' ha senso, ci sono implicazioni nell'usarlo qui? – Hailwood

+4

perché non 'dateplayed'? Potresti voler registrare più date, ad es. 'datescheduled',' dateupdated', ecc ... 'date' di per sé sarebbe piuttosto ambiguo. –

risposta

9

Sono stato in grado di aggiungere una colonna denominata date al database, senza virgolette richieste.

Quindi, sì, è possibile.

Ma non è necessario. Scegli un altro nome di colonna, ad es. "date_recorded". Non solo è meglio sintatticamente, ma è più descrittivo.

+8

Penso che chiamarlo stupido sia eccessivamente critico. Se il tuo tavolo si chiama 'game' e la colonna è chiamata' date', in che modo 'game_date' è più descrittivo? 'game.game_date' è solo ridondante. – Thor84no

+4

game_date era un cattivo esempio, ma essere più descrittivi è ancora una buona cosa. Che ne dite di "date_played", "date_recorded" o qualcosa che in realtà vi dice a cosa serve la colonna. –

Problemi correlati