MySQL/Python学习错误

问题描述:

我目前正在学习创建数据库和做一些数据分析的基础知识。我一直在努力了解如何'开始编码' 所以我最终决定拿出一个简单的日记项目来启动我的编码生活。MySQL/Python学习错误

这是我迄今为止,迄今为止,蟒蛇迄今没有什么,除了我设法链接python和mysql。

mysql> show databases; 
+--------------------+ 
| Database   | 
+--------------------+ 
| information_schema | 
| diary    | 
| mysql    | 
| performance_schema | 
| sakila    | 
| sys    | 
| world    | 
+--------------------+ 
7 rows in set (0.00 sec) 

mysql> desc diary; 
+---------------+--------------+------+-----+-------------------+-------+ 
| Field   | Type   | Null | Key | Default   | Extra | 
+---------------+--------------+------+-----+-------------------+-------+ 
| TASK_COMMENTS | varchar(255) | YES |  | NULL    |  | 
| TASK   | varchar(55) | NO |  | NULL    |  | 
| TS   | timestamp | NO |  | CURRENT_TIMESTAMP |  | 
+---------------+--------------+------+-----+-------------------+-------+ 
3 rows in set (0.00 sec) 

mysql> select * from diary; 
+---------------+---------------+---------------------+ 
| TASK_COMMENTS | TASK   | TS     | 
+---------------+---------------+---------------------+ 
| NULL   | Food Shopping | 2016-12-25 18:53:32 | 
+---------------+---------------+---------------------+ 
1 row in set (0.00 sec) 

这里是最后的:)问题:它是正确的,如果我做的时间戳主键或者是更多的“数据库无差错”创建一个实际的ID,而不是使用自动时间戳的PK ?

还我试图让TASK_COMMENTS场不空藏汉但我得到这样的:

mysql> ALTER TABLE Diary MODIFY COLUMN TASK_COMMENTS VARCHAR(255) NOT NULL; 
ERROR 1138 (22004): Invalid use of NULL value 

谢谢你的帮助。

如果NULL值已存在,则无法将列的默认值更改为NOT NULL。要么删除该行,要么将其设置为某项,然后您可以更改该列。

对主键使用时间戳不是一个好主意,因为它很有可能获得重复的值。不容易,但它不是一个好主意。使用ID列,设置PK,通常会给它AUTO INCREMENT以确保没有重复。

+0

感谢您的回复,但是当时间戳记秒数时,这个个人日记如何创建重复值。他不能在2秒内完成2个任务日志吗? – dbOpposer16

+0

谢谢你现在有更多的意义,我只是认为自己是唯一的用户,但有更多的用户使用这将需要一个id。 – dbOpposer16