gpt4 book ai didi

mysql - SQL创建具有垂直默认值的表

转载 作者:行者123 更新时间:2023-11-30 22:02:15 25 4
gpt4 key购买 nike

我有一个开始的代码,但根据我的错误,我在必须将默认值定义为垂直的部分搞砸了。我试着在我的书中寻找这个,但它没有提到垂直默认值,甚至没有为默认值添加值。例如,它说 email_frequency 的默认值为 15。我觉得这是一个简单的语法错误,但我在我的书中找不到任何地方解释如何定义默认列。

我将附上预期的输出,然后附上我到目前为止用错误编写的代码。

预期答案:

+-----------------+---------------------+------+-----+----------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+----------+-------+
| user_id | int(7) | NO | | NULL | |
| email_frequency | tinyint(2) unsigned | YES | | 15 | |
| layout | varchar(70) | YES | | vertical | |
| updated_at | datetime | YES | | NULL | |
+-----------------+---------------------+------+-----+----------+-------+

我目前的代码:

   CREATE TABLE settings (
user_id INT(7) NOT NULL,
email_frequency TINYINT(2) UNSIGNED DEFAULT 15 NULL,
layout VARCHAR(70) DEFAULT VERTICAL NULL,
updated_at YYYY-MM-DD HH:MI:SS NULL
);

错误:

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 'VER
TICAL NULL,
updated_at YYYY-MM-DD HH:MI:SS NULL
)' at line 4

最佳答案

这里有一些错误:

  1. "Vertical"应该是一个字符串字面量,所以需要用单引号来表示(')
  2. 列定义之间缺少逗号 (,)
  3. updated_at 的数据类型应该是 datetime

所以:

CREATE TABLE settings (
user_id INT(7) NOT NULL,
email_frequency TINYINT(2) UNSIGNED DEFAULT 15 NULL,
layout VARCHAR(70) DEFAULT 'VERTICAL' NULL,
updated_at DATETIME NULL
);

关于mysql - SQL创建具有垂直默认值的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43031407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com