我想为MySQL表中的一个列生成一个唯一的增量字符串值。此键的格式为{STRING}-{INT},例如FOO-1、FOO-2等等。
下面是我的桌子结构:
CREATE TABLE IF NOT EXISTS `items` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`item_key` varchar(100) NOT NULL,
`title` tinytext NOT NULL,
`created` datetime NOT NULL,
`modified` datetime NOT NULL,
PRIMARY KEY (
我确实试着用EF5和MySQL做样本。
[Table("agency")]
class Agency
{
[Key]
[Required]
public int agency_id { get; set; }
public string name { get; set; }
}
class MyContext : DbContext
{
public DbSet<Agency> Agency { get; set; }
}
class Sample
{
public static void Main()
{
我运行的是Posgres 8.4,我有下表
CREATE TABLE communitynetwork_listitem
(
id serial NOT NULL,
"MdUsr" integer,
"MdDT" timestamp with time zone NOT NULL,
"CrUsr" integer,
"CrDT" timestamp with time zone NOT NULL,
category_id character varying(15) NOT NULL,
"name
它没有给出正确的奖牌榜,我不知道我在代码中犯了什么错误。事实上,时间最少的运动员应该获得一枚金牌,而铜牌则应该获得一枚奖牌。
dict_time = {}
# loop through the athlete dictionary
for item in athelete:
# store the key of the dict_time as name and country and value as time in seconds
dict_time[item,athelete[item][0]] = athelete[item][1][0]*3600 + athelete
当使用MySQL启动事务并由MySQL决定回滚时(在表有AUTO_INCREMENT列的情况下),列是否得到.在回滚过程中减少了吗?
或者应该这么做?
在事务数据被正确回滚的情况下,我遇到了一些问题--但看起来表是自动递增的,而不是在回滚中减少的。
# BOTH TABLES START OUT EMPTY // TABLE1 ID is **auto_increment**
START TRANSACTION;
INSERT INTO `TABLE1` (`ID` ,`NAME`) VALUES (NULL , 'Ted'); # MySQL TABLE1 **ID
我有一个基本的MySQL数据库,其中每一行都被分配了一个唯一的递增ID号,但是我也希望每行都有一个唯一的6个字符的字母数字ID,它也是递增的。示例:
Row 1: ID = 1, Name = AAAAAA
Row 2: ID = 2, Name = AAAAAB
Row 3: ID = 3, Name = AAAAAC
数据库是通过PHP添加到的,所以这可以通过PHP和纯SQL来完成。
到目前为止,我一直在尝试构建一个可以将数字ID转换为AlphaNumeric ID的PHP函数,但没有成功。
有人有什么建议吗?谢谢。