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
以确保没有重复。
感谢您的回复,但是当时间戳记秒数时,这个个人日记如何创建重复值。他不能在2秒内完成2个任务日志吗? – dbOpposer16
谢谢你现在有更多的意义,我只是认为自己是唯一的用户,但有更多的用户使用这将需要一个id。 – dbOpposer16