diff --git a/pypika/queries.py b/pypika/queries.py
index <HASH>..<HASH> 100644
--- a/pypika/queries.py
+++ b/pypika/queries.py
@@ -1,4 +1,5 @@
 # coding: utf8
+import uuid
 from collections import OrderedDict
 
 from pypika.enums import JoinType, UnionType
@@ -12,7 +13,7 @@ __email__ = "theys@kayak.com"
 
 class Selectable(object):
     def __init__(self, alias):
-        self.item_id = id(self)
+        self.item_id = uuid.uuid1().int
         self.alias = alias
 
     def field(self, name):
diff --git a/setup.py b/setup.py
index <HASH>..<HASH> 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ from setuptools import setup
 
 __major_version__ = 0
 __minor_version__ = 0
-__patch_version__ = 22
+__patch_version__ = 23
 
 
 def readme():
Fixed an issue where python obj IDs colliding would cause queries to be rendered invalidly