0 0

有关数据库建表的一个问题,感觉很头疼 直接上图5

建表的语句

create table meeting(
meetingid int primary key,
roomid int,
userid int,
theme varchar(20),
startdate timestamp,
record varchar(400),
enddate timestamp,
foreign key(roomid) references meetindroom(roomid),
foreign key(userid) references zhq_users(uid)
);

数据库是mysql
然后 desc meeting 表的结构 结果却是 请看图

每次我更新meeting表的记录的时候,我只是更改记录的roomid 。但是每次已更新,这个startdate列也会随着更新, 直接是当前系统的时间,我的sql语句是
update meeting set roomid=-1 where roomid=? and startdate >?
第一个问号赋值用的是传递过来的参数,第二个问号赋值是用的当前系统的时间,意思就是说  把roomid等于某一个数并且startdate大于当前系统时间的那一条记录的roomid改成-1.
很纠结 一直没有找出来到底是哪里错了
2013年2月01日 21:35
  • 大小: 59 KB

1个答案 按时间排序 按投票排序

0 0

采纳的答案

自动更新的原因是mysql的建表语句中,对于第一个timestamp字段默认会自动更新的,也就是你图中看到的on update CURRENT_TIMESTAMP.

到MySql手册中可以看到具体的描述:http://dev.mysql.com/doc/refman/5.1/en/timestamp-initialization.html

建议创建timestamp字段的时候,都显示的声明一下是否自动更新及是否使用默认值:

自动初始化和更新:
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

只自动初始化:
ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP

只自动更新
ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP

只是给一个常量(注:0000-00-00 00:00:00)
ts TIMESTAMP DEFAULT 0


从你的需求看,应该是只需要自动初始化。

2013年2月02日 08:40

相关推荐

    数据库建表工具EZDML

    数据库建表工具EZDML是一款专为数据库设计者和开发者提供的高效、易用的建表软件。这款工具简化了创建数据库表的过程,使得数据库结构的设计更为便捷,尤其适合初学者和有经验的IT专业人士。在数据库开发过程中,...

    达梦数据库建表操作SQL语句大全.pdf

    达梦数据库是国产数据库产品中的佼佼者,它提供了完整的SQL语言支持,让用户可以方便地进行数据库的建表、数据操作以及维护等操作。以下是根据提供的文件内容,对达梦数据库建表操作SQL语句所涉及知识点的详细解析:...

    数据库建表原则-设计思想-查询优化

    ### 数据库建表原则详解 #### 一、原始单据与实体之间的关系 在数据库设计过程中,原始单据与实体之间的关系是理解数据结构的基础。根据业务需求的不同,这种关系可以表现为一对一、一对多或者多对多的形式。最...

    数据库建表操作SQL语句大全

    ### 数据库建表操作SQL语句详解 #### 一、新建表 新建表是数据库管理中最基础的操作之一,用于创建新的数据存储结构。在SQL语言中,`CREATE TABLE`语句用于定义表的结构。 **语法示例**: ```sql CREATE TABLE ...

    数据库建表基本逻辑

    根据提供的文件内容,本文将详细解析“数据库建表基本逻辑”这一主题,涵盖表的创建、序列(sequence)的使用、触发器(trigger)的设计以及表间关系的建立等关键知识点。 ### 一、创建表的基本语法 #### 1. 表的基本...

    (精品word)数据库系统概论学生数据库建表.doc

    本文提供了一个学生数据库建表的实例,包括创建数据库、创建表、插入数据等步骤。该实例使用了SQL Server DBMS,创建了一个学生数据库,包括学生信息表、课程信息表和成绩信息表。学生信息表包括学号、姓名、性别、...

    sql数据库建表建议

    对于多对多关系,我们在设计数据库时应尽量避免直接出现这样的关系,而是通过引入第三个实体来转换为两个一对多的关系,这样做有助于简化数据的关联和查询操作。 综上所述,SQL数据库建表需要综合考虑多种因素,...

    PUB数据库建表SQL

    PUB数据库建表SQL

    quartz集群各种数据库建表脚本

    当一个任务被触发时,只有一个节点会执行该任务,以避免并发执行导致的问题。此外,如果一个节点宕机,其他节点可以接管未完成的任务,保证了服务的连续性。 总结起来,"quartz集群各种数据库建表脚本"是实现Quartz...

    quartz各种数据库的建表语句

    在"dbTables"文件中,通常会包含多个SQL文件,每个文件对应一个数据库类型。例如,"mysql.sql", "postgresql.sql", "oracle.sql", "mssql.sql"分别包含这些数据库的建表语句。运行相应的SQL文件后,确保检查表是否...

    达梦数据库建表失败的经历

    首先,表空间(Tablespace)是数据库管理系统中的一个概念,用于组织和存储数据库对象,如表、索引等。在达梦数据库中,创建表空间是分配存储资源给数据库对象的关键步骤。然而,正如标题所示,有时在尝试创建新的表...

    GP数据库建表模板.xlsx

    GP数据库建表模板,通过excel拷贝数据字典,即可生成对应的gp数据库建表语句脚本,简单易用

    Oracle数据库建表空间

    oracle数据库建表空间 用户名 密码 需要在sys用户下建

    sql数据库建表优质资料.doc

    SQL 数据库建表优质资料是一份关于 SQL 数据库建表的优质资料,包括创建三张表的 SQL 语句、添加约束、删除列、修改列类型等操作。同时,还包括了 E-R 图的设计、关系模型的转换、表的创建、查询语句的编写等内容。 ...

    SQL数据库建表建库语句

    SQL数据库建表建库语句 SQL SEREVER入门必备的第一个教学代码 仅供学习参考

    条码系统数据库建表.xlsx

    关于条码的数据库建表,条码系统用于扫描来完成仓库的上架下架收发货盘点追溯等功能,用户操作员分配权限。

    数据库建表-建约束-建外键.doc

    数据库建表、约束和外键实践 数据库建表是数据库设计中最基础且重要的一步。在实际应用中,建表的正确性将直接影响到后续的数据存储和查询效率。本文将从建表的角度出发,介绍了建表、约束、外键三者的关系和实现...

    dataexplore数据库建表工具

    dataexplore 数据库语句生成工具 Create、Update、Delete、Insert等等自动生成

    数据库建表增加或删除字段

    在Oracle数据库管理中,对表结构进行修改是常见的需求之一,比如添加新的字段或删除不再使用的字段等。本文将基于给定的文件信息——“数据库建表增加或删除字段”来详细阐述如何通过SQL语句实现这些操作。 ### 一...

    贷款系统数据库建表.doc

    贷款系统数据库建表.doc该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~

Global site tag (gtag.js) - Google Analytics