Mysql 如何正确创建SQL表?
我正在尝试在MySQL工作台(在Mac OS中)中使用以下语法创建SQL表 当我尝试执行此脚本时,我得到以下消息Mysql 如何正确创建SQL表?,mysql,sql,Mysql,Sql,我正在尝试在MySQL工作台(在Mac OS中)中使用以下语法创建SQL表 当我尝试执行此脚本时,我得到以下消息 Error code: 1067. Invalid default value for 'created' 这里的问题是什么?如何正确创建表?我在下面提供了另外两个表,即公司和客户。执行正确,没有问题 CREATE TABLE companies ( company_id INT NOT NULL PRIMARY KEY, compan
Error code: 1067. Invalid default value for 'created'
这里的问题是什么?如何正确创建表?我在下面提供了另外两个表,即公司和客户。执行正确,没有问题
CREATE TABLE companies (
company_id INT NOT NULL PRIMARY KEY,
company_name VARCHAR(50) NOT NULL,
contact_name VARCHAR(50) NOT NULL,
contact_phone VARCHAR(30) NOT NULL,
contact_email VARCHAR(50) NOT NULL,
created DATETIME NOT NULL
);
CREATE TABLE customers (
customer_id INT NOT NULL PRIMARY KEY,
company_id INT NOT NULL,
customer_name VARCHAR(100) NOT NULL,
customer_company VARCHAR(100),
CONSTRAINT customers_fk_company
FOREIGN KEY (company_id) REFERENCES companies (company_id)
);
如果您将
时间戳
更改为日期时间
,是否有效?这个问题及其答案可能会有所帮助。检查您使用的是哪个MySQL版本。我刚刚复制了您的CREATE
语句,并在5.5上运行了它们,没有错误。我在mac中使用6.3,并将时间戳更改为日期时间,完成了任务。看看这个。这可能会有帮助。
CREATE TABLE companies (
company_id INT NOT NULL PRIMARY KEY,
company_name VARCHAR(50) NOT NULL,
contact_name VARCHAR(50) NOT NULL,
contact_phone VARCHAR(30) NOT NULL,
contact_email VARCHAR(50) NOT NULL,
created DATETIME NOT NULL
);
CREATE TABLE customers (
customer_id INT NOT NULL PRIMARY KEY,
company_id INT NOT NULL,
customer_name VARCHAR(100) NOT NULL,
customer_company VARCHAR(100),
CONSTRAINT customers_fk_company
FOREIGN KEY (company_id) REFERENCES companies (company_id)
);