举个例子,比如这里我想建一个订单表t_order,包含order_id、create_time、price、user_id四个属性,SQL语句如下所写,这样是没有问题的。
CREATE TABLE t_order(
order_id INT PRIMARY KEY AUTO_INCREMENT,
create_time DATETIME,
price DECIMAL(11,2),
user_id INT,
FOREIGN KEY(user_id) REFERENCES t_user(id)
);
但是假如再增加一个status属性表示订单的状态时,此时再像如下去写SQL语句就会报错,因为status是MySQL内置的数据类型,会导致编译错误。
CREATE TABLE t_order(
order_id INT PRIMARY KEY AUTO_INCREMENT,
create_time DATETIME,
price DECIMAL(11,2),
status INT,
user_id INT,
FOREIGN KEY(user_id) REFERENCES t_user(id)
);
因此MySQL建表时对于表中涉及到的变量名,无论是否是内置数据类型,都需要添加反引号。注意这里是反引号,而不是单引号或双引号。反引号通过键盘ESC键下方的"~"按键可以输入(注意输入时切换成半角)。正确的SQL语句如下:
CREATE TABLE t_order(
`order_id` INT PRIMARY KEY AUTO_INCREMENT,
`create_time` DATETIME,
`price` DECIMAL(11,2),
`status` INT,
`user_id` INT,
FOREIGN KEY(user_id) REFERENCES t_user(id)
);
版权声明:本文为Gaozihang777原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。