草庐IT

key_type

全部标签

php - PDO:绑定(bind)时使用 data_type 的目的是什么?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:PhpPDO::bindParamdatatypes..howdoesitwork?例如,我有以下准备好的语句:$sth=$dbh->prepare('SELECT`name`FROM`user`WHERE`user_id`=:user_id');我可以像这样绑定(bind)user_id参数:$sth->bindValue(':user_id',$user_id_value);而且我仍然可以免受SQL注入(inject)攻击。但是,bindValue()还有一个名为data_type的可选参数,它允许您设置

Navicat 中的 MySQL View - 如何定义 'primary key'?

当我在Navicat中定义View时,我经常收到以下消息:xxxdoesnothaveaprimarykey.Updatestothistablewillbedoneusingthefollowingpseudostatement:UPDATExxxSETModifiedFieldsAndValuesWHEREAllFieldsAndOldValuesLIMIT1显然,我只使用我的View来查看数据,而不是更新。但这确实让我感到好奇:有没有办法在View上定义“主键”或“唯一索引”? 最佳答案 它暗示View使用其基表的索引和主键。

java - JDBC 从重复插入中生成 key

如果您有一个带有ONDUPLICATEKEY子句的插入,并且存在重复键,是否有任何方法可以取回重复的主键?还是我必须自己手动查询?据我所知,CallableStatement类中的getGeneratedKeys()不会返回,因为新插入实际上并未完成。编辑抱歉,如果不清楚,但我想取回记录的PRIMARYKEY。所以如果我有下表(请原谅语法,只是徒手输入):CREATETABLEsome_table(idint(11)unsignedNOTNULLAUTO_INCREMENT,valuevarchar(500)NOTNULL,countint(10)unsignedNOTNULLDEFA

python - sqlalchemy - AttributeError(key) 实际上在 columnCollection 中时缺少键

我的引擎有一个属性dMeta,它返回引擎元数据,然后我有一个类,它有一个名为table的方法,它基本上是这样做的:deftable(meta):returnTable('table1',meta,autoload=True,schema=genShema())我正在自动加载表格:t=SomeClass.table(engine.dMeta)sql=select([t.c.ID,t.c.OPIS,t.c.IDG,func.left(t.c.ID,2).label("Ident"),(func.left(t.c.ID,2).label('Ident2')+''+t.c.OPIS).labe

mysql - 使用 `type` 作为数据库列名

在命名新数据库表中的列时,我遇到的一个常见问题是用于分类子类型的正确名称。最自然的列名通常是type,但我尽量避免使用SQLkeywordsorreservedwords在我的命名中。我知道type在MySQL中都是非保留关键字和Postgres,所以我可以使用它,但是我应该吗?目前关于使用type的最佳实践是什么?作为列名?是否有一个广泛等同的同义词,使用它才有意义?多年来,我花了很多时间尝试选择其他名称,并且在过去一周的讨论中出现了两次,所以我想看看是否对此有任何明确的共识?如果它对其他人有帮助,我过去曾使用过一些替代方法来解决这个问题,包括:categorykindsubtype

mysql - 错误 : Error 1215: Cannot add foreign key constraint

我收到错误:错误:错误1215:无法添加外键约束我阅读了其他类似主题和http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html显然我无法解决这个问题。代码生成如下(该死的它应该可以完美运行):SET@OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0;SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,FOREIGN_KEY_CHECKS=0;SET@OLD_SQL_MODE=@@SQL_MODE,SQL_MODE

php - 使用“INSERT ... ON DUPLICATE KEY UPDATE”插入多条记录

我的表结构表:标记我的目标:我想用条件插入或更新多条记录我目前正在通过这个查询检查第一步SELECT*FROM`marks`WHERE`student`=115AND`param`=1第二步ifrecordsfoundbymatchingabovecriteriaijustupdaterecordbymynewvalueselseinsertnewrecordintomytable它会正常工作。但我想减少代码并将其优化为单个查询。它可能与否?我在MySQL文档INSERT...ONDUPLICATEKEYUPDATE上找到了这个。如果这是一个解决方案。如何通过查询实现?注意:我使用的是

mysql - (1062, "Duplicate entry ' 0' for key ' 主'")

我收到此错误(1062,“键‘PRIMARY’的重复条目‘0’”)。这发生在我将我的Django应用程序从sqlite3迁移到MySQL之后。这是相关的表格:mysql>describemeddy1_specialization;+-------+-------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+-------+-------------+------+-----+---------+----------------+|id|int(11)|NO|PRI|N

mysql - 当重复项是不同的唯一列时,如何防止 MySQL 在使用 ON DUPLICATE KEY UPDATE 时自动递增主键?

考虑下表:+-------------+------------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+-------------+------------------+------+-----+---------+----------------+|vendor_id|int(10)unsigned|NO|PRI|NULL|auto_increment||vendor_name|varchar(100)|NO|UNI|NULL|||count|int(10)u

MySQL alter table enable keys 没有 promise 的那么快

所以我有一个包含超过20亿条记录和5个多列键的大表。我可以使用两种方法来插入数据:方法一loaddatainfile...;方法二altertabledisablekeys;loaddatainfile...;altertableenablekeys;如果我从一个空表开始,对于20亿条记录,方法1大约需要60小时(估计,可能更多),而方法2需要12小时插入数据,3小时重新创建键。到目前为止一切顺利。但是,如果我已经有20亿条记录,并尝试再插入500万条记录,则方法1需要大约3个小时,而方法2需要30分钟插入数据,以及高达7个小时的重新创建key。我确认在整个key重新生成过程中,它使用