Mysql 字段与SQL类型具有相同的名称可以吗?
我可以用与SQL数据类型相同的名称命名字段和表吗?例如,下面的SQL定义在MySQL中有效吗Mysql 字段与SQL类型具有相同的名称可以吗?,mysql,sql,Mysql,Sql,我可以用与SQL数据类型相同的名称命名字段和表吗?例如,下面的SQL定义在MySQL中有效吗 CREATE TABLE if not exists TABLE1 ( id INT PRIMARY KEY, text TEXT) 此外,我可以为字段提供其他表的名称吗 CREATE TABLE if not exists TABLE2 ( id INT PRIMARY KEY, table1 INT, FOREIGN KEY (table1) REFERENCES table1(id)) 这行吗
CREATE TABLE if not exists TABLE1 (
id INT PRIMARY KEY,
text TEXT)
此外,我可以为字段提供其他表的名称吗
CREATE TABLE if not exists TABLE2 (
id INT PRIMARY KEY,
table1 INT,
FOREIGN KEY (table1) REFERENCES table1(id))
这行吗?MySQL有关键字和保留关键字的概念 您可以使用关键字作为表、列等的标识符,而无需引用它们
mysql> CREATE TABLE if not exists TABLE1 (
-> id int PRIMARY KEY,
-> text TEXT);
Query OK, 0 rows affected (0.02 sec)
您也可以使用保留关键字作为标识符,但必须引用它们
mysql> CREATE TABLE if not exists TABLE1 (
-> id int PRIMARY KEY,
-> order TEXT);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'order TEXT)'
引用保留关键字,然后您可以执行以下操作:
mysql> CREATE TABLE if not exists TABLE1 (
-> id int PRIMARY KEY,
-> `order` TEXT);
Query OK, 0 rows affected (0.01 sec)
你怎么知道什么是关键字,什么是保留关键字
请使用以下参考文档:@TeymourAldridge,除非您的链接是针对SQL Server的,OP询问的是MySQL。简单的方法是不要这样做,这样就永远不会成为您的问题。我是否也可以给字段指定与表相同的名称?是的,表可能与列具有相同的名称。